Git LFS を使っていてクローンが遅すぎる時

2016/01/13

Git LFS を入れて大量の画像などを Git 管理にしている場合、clone が重くて重くてエラー連発したりして泣きそう、という状態になったので調べました。

git-lfs の処理を飛ばして後からダウンロードする

上記ページにあるように、clone 時に git-lfs の処理を飛ばして後から git-lfs のファイルをダウンロードすると良さそうでした。

具体的には次のような形で頭に GIT_LFS_SKIP_SMUDGE=1 を付けて git clone して、

GIT_LFS_SKIP_SMUDGE=1 git clone https://github.com/○○/○○.git

git clone が終わったら git lfs fetch で確認し、

git lfs fetch

最後に git lfs pull で LFS 管理のファイルをダウンロード。

git lfs pull

常に LFS ファイルは別途管理する場合

上記ページを見ていたところ次のように書く例がありました。

# from your repository working directory:
$ git config filter.lfs.smudge "git-lfs smudge --skip %f"

これだと常に git-lfs の処理を飛ばす形になるみたいです。「ノート PC では容量の都合で LFS 管理のファイルはダウンロードしたくない」などの場合に便利かも。