facebook twitter hatena line email

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

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(gitリポジトリにlfs機能を追加)
(100MB以上のファイルをpushしたときのエラー対応方法)
 
(同じ利用者による、間の1版が非表示)
行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>
  
行34: 行39:
 
  $ cat .gitattributes # 確認
 
  $ cat .gitattributes # 確認
 
  hogehoge/Libraries/libil2cpp.a filter=lfs diff=lfs merge=lfs -text
 
  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する
 
ファイルをaddしpushする

2023年12月4日 (月) 12:30時点における最新版

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