facebook twitter hatena line email

Git/github/大きなファイル

提供: 初心者エンジニアの簡易メモ
2021年8月16日 (月) 23:59時点におけるAdmin (トーク | 投稿記録)による版 (gitリポジトリにlfs機能を追加)

移動: 案内検索

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対象ファイルを追加

jpgの場合は

git lfs track "*.jpg"

以下.gitattributesが追加される

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

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

ファイルをaddしpushする

git add .gitattributes
git push origin master

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

git reset --soft HEAD^

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