大きな素材の取得が途中で止まり、コードだけでは作業を再開できない。
最短の対策は、Git LFSの設定だけで済ませず、認証、必要なファイルの取得、容量、移行まで確認し、出発前に実案件で復旧を試すことです。
独立開発者:モデル、素材、バイナリ依存を含むリポジトリを旅先で保守する人向けです。
リモートで働くデザイナー・開発者:iPadや軽量ノートからリモートMacに接続して、大型ファイルを扱いたい人向けです。
技術系フリーランサー:移動や一時的な端末変更があっても、納品作業を継続したい人向けです。
Git LFSをリモートMacに設定する前の判断基準
Git LFSは、大きなファイルを通常のGit履歴にそのまま積み重ねず、LFSオブジェクトとして管理する仕組みです。素材やモデルなど、変更履歴を残しながらチームで扱うファイルには有効ですが、バックアップの代わりにはなりません。紛失や誤削除に備えるには、別途バックアップと復元手順が必要です。
まず、困っている原因を分けてください。リポジトリ全体が大きいのか、特定のファイルがホスティング先の制限にかかるのか、毎回すべての素材を取得しているのか、デスクトップアプリで素材を開く必要があるのかで、対策は異なります。
| 作業の条件 | 選びやすい方法 | 確認すること |
|---|---|---|
| 作業対象が一部の素材に限られる | LFSの対象パスを絞り、必要なオブジェクトを取得する | 必要ファイルが作業ツリーに揃うか |
| 複数の担当者が同じ大容量ファイルを更新する | Git LFSで追跡する | 追跡ルールが共有され、変更がコミットされているか |
| ファイルを保管するだけで、バージョン管理が不要 | 専用の保管先も比較する | Git履歴と保管・バックアップを混同していないか |
| リポジトリ全体の取得が重い | 部分クローンも検討する | LFSオブジェクトは別途必要に応じて取得すること |
ホスティング先の制限も確認が必要です。案内されている通常のGitファイル制限では、50 MiBを超えるファイルは警告対象、100 MiBを超えるファイルはブロック対象です。LFSのファイル上限はプランによって異なり、公式資料ではFree/Proが2 GB、Teamが4 GB、Enterprise Cloudが5 GBとされています。契約プランの制限と照らし合わせてください(通常のファイルサイズ制限、LFSのファイルサイズ制限)。
Git LFSが適するのは、履歴管理が必要な大きなバイナリファイルです。どのパターンを追跡するかは、Git LFSの追跡ルールで確認し、既存のチームルールと衝突しないように決めます。
設定方法を取得範囲と認証の指標で比較する
作業のたびにリポジトリ全体を取得すると、移動中の回線やディスク容量に影響します。一方、取得対象を絞りすぎると、実際にアプリで開く段階でファイル不足に気づくことがあります。
| 取得方法 | 向いている作業 | 主な注意点 |
|---|---|---|
| LFSオブジェクトを広く取得 | オフライン作業やプロジェクト全体の確認 | 作業に不要なオブジェクトも保存される可能性がある |
| 対象を指定して取得 | 作業対象が特定のディレクトリやファイルに限られる | 指定漏れがあると、後から追加取得が必要になる |
| Gitの部分クローンを併用 | Git側のファイル取得を抑えたい | Gitの部分クローンとLFSのオブジェクト取得は別の設定として検証する |
認証は「Gitのリポジトリに接続できること」と「LFSオブジェクトを取得できること」を分けて考えます。git cloneが成功しても、LFS側の認証やオブジェクト取得が完了しているとは限りません。サーバー情報の検出と認証方式は、Git LFSのサーバー検出仕様と認証仕様を確認してください。
第一段階:リモートMacに作業環境を用意する
対象のMacでGitとGit LFSが使えることを確認し、プロジェクト用の作業ディレクトリを決めます。OSの対応状況や導入方法は環境によって変わるため、実行前にGit LFS公式のインストール手順を参照してください。
初めて追跡ルールを変更するときは、正式ブランチへ直接反映せず、テスト用ブランチで対象パターンを確認します。git lfs trackでルールを追加したら、.gitattributesの差分を確認し、チーム内で合意してからコミットします。ルールをローカルだけに残すと、別の端末で取得したときに同じファイルがLFS対象として扱われない場合があります。
git lfs install
git lfs track "*.psd"
git status
git add .gitattributes
ここでの例は.psdを追跡する場合です。実際の拡張子やパスは、プロジェクトの管理方針に合わせてください。既存の.gitattributesを確認せずに追加すると、意図しないファイルまで対象にするおそれがあります。
認証エラーを防ぎ、必要なファイルだけ取得する
Git LFSの認証を何度も求められないようにするには
接続先の認証方式に対応した資格情報の保管方法を選び、Gitの認証とLFSの認証の両方を確認します。認証情報をスクリプトやリポジトリに直接書き込むのは避けてください。共有端末や貸与端末を使う場合は、作業後に資格情報を削除できるかも事前に確認します。
取得対象を限定する場合は、git lfs fetchのinclude/exclude指定を使えるか、取得範囲の公式リファレンスで確認します。指定したファイルだけを取得したつもりでも、最終的に開くプロジェクトや参照素材が別パスにあれば追加取得が必要です。
リモートMacでGit LFSのファイルを取得できない場合
最初に、Gitの認証エラーかLFSオブジェクトの認証エラーかを切り分けます。次に、対象ブランチ、追跡ルール、取得対象の指定を確認してから、対象を再取得します。コマンドの成功表示だけで判断せず、取得対象の一覧とファイルの状態を確認してください。
移動中に回線が途切れた場合は、エラーメッセージを記録し、接続が安定してから必要な取得コマンドを再実行します。中断時にどこまで転送されたか、再実行でどのように扱われるかは、環境や接続先によるため決めつけないでください。ログとファイルのチェックに加え、実際に使うアプリでファイルを開いて確認します。
注意:LFSポインターが存在していても、実ファイルを取得済みとは限りません。納品前にはファイルのサイズやチェック結果だけで済ませず、プロジェクトで実際に読み込めることまで確認してください。
容量は作業ツリー、キャッシュ、書き出し先に分けて管理する
ディスクの使用量は、チェックアウトした作業ツリーだけでは把握できません。LFSオブジェクトのローカルキャッシュ、アプリが生成するプレビューや中間ファイル、書き出しデータも分けて確認します。必要容量を固定値で決めず、対象リポジトリを取得した前後で実測してください。
容量が足りなくなったときは、まず未提出の変更と必要な書き出しデータが残っているか確認します。次に、遠隔地にも保存されていることを確かめてから不要なキャッシュを整理します。git lfs pruneはローカルのLFSオブジェクトを整理する操作です。対象や保持条件を確認してから、pruneの仕様に従って実行してください。整合性の確認にはgit lfs fsckの仕様も参照できます。
条件に合わせて取得方法を選ぶ
- 作業対象が明確で、必要なファイルを事前に列挙できるなら、対象を絞った取得を選びます。
- オフライン作業やアプリでの全体確認が必要なら、必要範囲を広げて取得し、ディスクの空きを先に確認します。
- 取得範囲を判断できない場合は、正式ブランチや本番データを変更せず、テスト用ブランチで実際の読み込みまで確認します。
- 作業端末の紛失や契約終了に備えたい場合は、LFSの管理だけに頼らず、別のバックアップ先と復元手順を用意します。
旅行前に実案件で復旧と移行を確認する
旅行中に大型リポジトリを管理する手順
- 対象リポジトリのブランチ、LFS追跡ルール、作業ディレクトリを記録します。
- GitとGit LFSの導入状態を確認し、認証情報を安全に設定します。
- テスト用ブランチで必要なLFSオブジェクトを取得し、作業対象のファイルが揃うか確認します。
- 作業ツリー、LFSキャッシュ、書き出し先の使用量を取得前後で記録します。
- いったん作業を中断した想定で再接続し、ログ、ファイルの整合性、アプリでの読み込みを確認します。
- 変更をコミットまたは別の安全な場所へ退避し、別のMacから必要なプロジェクトを開けることを確認します。
Git側のダウンロード量を抑える目的で部分クローンを使う場合、--filter=blob:noneなどの指定が利用できます。ただし、これはGitのオブジェクト取得を制御する仕組みで、LFSファイルの取得完了を保証するものではありません。Gitのcloneオプションを確認し、LFSの取得は別途検証してください。
契約終了や端末変更に備えて移行する
作業を引き継ぐときは、コミット済みのコードだけでなく、未コミット変更、LFSオブジェクト、環境変数、起動手順、ローカルだけにある素材を書き出します。別のMacへ移す場合は、同じリポジトリを取得し、認証後に対象ファイルを再取得して、アプリで開けるところまで確かめます。
一時端末に切り替える場合は、資格情報の削除方法とローカルに残ったキャッシュの扱いも確認してください。引き継ぎ先でLFSファイルを取得できない状態なら、作業環境を手放す前に原因を解消します。リモートMacの接続方法や利用時の確認事項は、ヘルプセンターで確認できます。
端末を持ち歩く方法とリモートMacを使う方法
Macを持ち歩けば、ネット接続が弱い場所でもローカルの作業環境を使えます。一方で、本体の紛失・故障への備えや、ローカルデータのバックアップを自分で管理する必要があります。軽量端末からリモートMacに接続する方法なら、作業環境を手元の端末と分けられますが、安定した接続が必要で、物理ポートを使う作業や常時大きな負荷をかける用途には向きません。
移動のたびに重いMacを携帯する負担、端末故障時の環境復旧、作業用データの同期を個別に管理しているなら、期間を区切ってSSHMacのリモートMacを使う選択肢もあります。実案件の取得と復旧を試し、必要なストレージや接続条件を確認してから、レンタルプランを検討してください。長期の高負荷運用や物理機器への直接接続が必要なら、自前のMacが適する場合もあります。