13
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Git LFS のリポジトリをcloneやpullしたときにどうなるのか

Last updated at Posted at 2021-08-05

はじめに

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を使う場合、その点は気をつけてください。

参考資料

13
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?