はじめに
Git LFSを導入したときに他の人から見るとどうなるのか調べました。
pushする側は正しく設定されていると思うので、そちらはあまり説明せず、
リポジトリを共有しているお客さんなどの他人から見るとどう見えるかを軽く調べました。
Git LFSを導入後 clone/pullする場合
特に何もしなくても正しく使えます。
下のURLなどを参考にgit-lfs
を入れたあとにcloneなどをする場合です
brewが入っているとこれで大丈夫です。
brew install git-lfs
git lfs install
$HOME/.gitconfig
に項目が作られ、cloneやpullのときにgit-lfs
コマンドがある前提で正しく動きます。
git lfs install
を忘れると.gitconfig
が作られないので 「導入してないとき」と同じことになりますので
そこは気をつけてください。(brew install だけで達成感があるので忘れがちです)
Git LFSを導入してないときに clone/pullする場合
こちらが問題です。
Git LFSを導入してなくても clone/pullをすることができ、しかもエラーになりません。
当該のファイルは メタデータのような参照の情報が入っている小さなファイルになっています。
ビルド時に初めて気づくことになったり、はたまた本番運用中に気づくということにもなりかねません。
なので周知力が必要です。
(gitデフォルトでサポートする時代になってほしいのですが)
こうなった場合あとから brew install git-lfs
をしたり git reset --hard
をしても何も変わりません。
(リポジトリcloneし直したり git reset --hard HEAD^
などで戻してpullし直しても良いといえば良いです)
そのようになった場合、専用のサブコマンド
git lfs pull
でリポジトリ中のgit lfsのデータの取得することができます。
(実行前に git lfs install
をすることを忘れずに)
まとめ
「Git LFSを導入してるので対応お願いします」という周知力が必要なので、Git LFSを使う場合、その点は気をつけてください。
参考資料