facebook twitter hatena line email

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

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(ページの作成:「 ==100MB以上のファイルをpushしたときのエラー対応方法== remote: error: GH001: Large files detected. You may want to try Git Large File Storage Git LF...」)
 
(100MB以上のファイルをpushしたときのエラー対応方法)
 
(同じ利用者による、間の4版が非表示)
行1: 行1:
 +
 +
==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が追加される
 +
<pre>
 +
cat .gitattributes
 +
*.png filter=lfs diff=lfs merge=lfs -text
 +
</pre>
 +
追加してコミット
 +
<pre>
 +
git add test.png
 +
git commit -m "add image"
 +
</pre>
  
 
==100MB以上のファイルをpushしたときのエラー対応方法==
 
==100MB以上のファイルをpushしたときのエラー対応方法==
行10: 行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