facebook twitter hatena line email

Git/github/大きなファイル

提供: 初心者エンジニアの簡易メモ
移動: 案内検索

git lfsとは

大きいファイルをgitで管理する機能 brew install git-lfs

git lfsインストール

macの場合

$ brew install git-lfs
$ git lfs version
> git-lfs/2.13.3 (GitHub; darwin amd64; go 1.16.5)

参考:https://qiita.com/ikmski/items/5cc8b8832336b8d85429

gitリポジトリにlfs機能を追加

$ git lfs install

lfs対象ファイルを追加

pngの場合は

git lfs track "*.png"

以下.gitattributesが追加される

cat .gitattributes
*.png filter=lfs diff=lfs merge=lfs -text

追加してコミット

git add test.png
git commit -m "add image"

100MB以上のファイルをpushしたときのエラー対応方法

remote: error: GH001: Large files detected. You may want to try Git Large File Storage

Git LFS のインストール(macであれば)

brew install git-lfs

.gitattributesに100MB超えのファイルを追加(例:hogehoge/Libraries/libil2cpp.a)

$ git lfs track hogehoge/Libraries/libil2cpp.a
$ cat .gitattributes # 確認
hogehoge/Libraries/libil2cpp.a filter=lfs diff=lfs merge=lfs -text

(例:Assets/Firebase/Plugins/x86_64/FirebaseCppApp-11_6_0.bundleで、拡張子指定だけの場合)

Assets/Firebase/Plugins/x86_64/*.bundle filter=lfs diff=lfs merge=lfs -text

ファイルをaddしpushする

git add .gitattributes
git push origin master

対象ファイルを `git log` してgitattributes登録前にファイルをcommitしている箇所があれば失敗するので、以下のようなロールバックですべて戻す必要がある

git reset --soft HEAD^

参考:https://qiita.com/kanaya/items/ad52f25da32cb5aa19e6