読者です 読者をやめる 読者になる 読者になる

git pushで100MBを超えてエラーが出たときの対処法

開発環境
OS X 10.9.5
git version 2.3.2

pushしようとしたら以下のエラーがでた

$ git push origin master

Counting objects: 4924, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (4534/4534), done.
Writing objects: 100% (4924/4924), 91.29 MiB | 2.22 MiB/s, done.
Total 4924 (delta 547), reused 0 (delta 0)
remote: error: GH001: Large files detected.
remote: error: Trace: 68fe267b6067c61b005039be456ed1bb
remote: error: See http://git.io/iEPt8g for more information.
remote: error: File vendor/bundle/ruby/2.1.0/gems/libv8-3.16.14.7-x86_64-darwin-13/vendor/v8/out/x64.release/libv8_base.a is 150.14 MB; this exceeds GitHub's file size limit of 100 MB

問題になっているのは以下のファイルであることがわかる

vendor/bundle/ruby/2.1.0/gems/libv8-3.16.14.7-x86_64-darwin-13/vendor/v8/out/x64.release/libv8_base.a

以下のコマンドを入力

$ git filter-branch --tree-filter 'rm -f vendor/bundle/ruby/2.1.0/gems/libv8-3.16.14.7-x86_64-darwin-13/vendor/v8/out/x64.release/libv8_base.a' HEAD

その後

$ git push -u origin master

これで解決。