facebook twitter hatena line email

「Git/github/大きなファイル」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(gitリポジトリにlfs機能を追加)
(lfs対象ファイルを追加)
 
行16: 行16:
  
 
==lfs対象ファイルを追加==
 
==lfs対象ファイルを追加==
jpgの場合は
+
pngの場合は
  git lfs track "*.jpg"
+
  git lfs track "*.png"
 
以下.gitattributesが追加される
 
以下.gitattributesが追加される
 
<pre>
 
<pre>
 
cat .gitattributes
 
cat .gitattributes
*.jpg filter=lfs diff=lfs merge=lfs -text
+
*.png filter=lfs diff=lfs merge=lfs -text
 +
</pre>
 +
追加してコミット
 +
<pre>
 +
git add test.png
 +
git commit -m "add image"
 
</pre>
 
</pre>
  

2021年8月17日 (火) 00:25時点における最新版

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

ファイルをaddしpushする

git add .gitattributes
git push origin master

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

git reset --soft HEAD^

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