GitHubのリポジトリをpushする際に100MB超過ファイルを過去に遡って削除する方法
ある日、github を使ってたら、こんなエラーが出てきたんだよね。
Total 119 (delta 58), reused 1 (delta 0)
remote: Resolving deltas: 100% (58/58), completed with 10 local objects.
remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.
remote: error: Trace: ×××××××××××××××××××××××
remote: error: See http://git.io/iEPt8g for more information.
remote: error: File ××××××/×××××× is 1793.91 MB; this exceeds GitHub's file size limit of 100.00 MB
To https://github.com/user_name/repository_name.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://github.com/user_name/repository_name.git'
エェー、Github って100MB以上のファイル送れないのー!!!
ってびっくりしました。
ってところまでは良かったんだけれど、なんかそれでrm して、もう一回add → commit → push しようと思ったらまた
Total 119 (delta 58), reused 1 (delta 0)
remote: Resolving deltas: 100% (58/58), completed with 10 local objects.
remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.
remote: error: Trace: ×××××××××××××××××××××××
remote: error: See http://git.io/iEPt8g for more information.
remote: error: File ××××××/×××××× is 1793.91 MB; this exceeds GitHub's file size limit of 100.00 MB
To https://github.com/user_name/repository_name.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://github.com/user_name/repository_name.git'
って出たからこりゃおったまげた。
これはどうやら、「git って履歴管理とかもできるけど、その履歴に100MB 以上のファイルがあるから送れないやで」
ということらしい。
めんどくさい...
解決方法を記そう
以下の記事に記述があります
GitHubへ既存リポジトリをPushする時に100MB超過ファイルを過去に遡って削除する方法
ということで、この記事に解決方法がしっかり書いてある。
「おい!書いてあるならブログで取り上げんでもええじゃろうが!」と思うかもしれない。
でも、ちょっと待って欲しい。
Webにある記事が、全て有用とは限らないの。というより、結構な確率でゴミ記事があるの。
なので、このブログはメモがわりに、その有能な記事を集めていこうという趣旨なの。
だから、記事を書いてくれた人に感謝させてもらいながら、引用させてもらうわね。
ありがとう
別の解決方法
ちなみに、なんか大量のファイルを送れるようにするlfs(?) というのもあるらしいけど、なんかmac 以外だと多少めんどくさいらしいので却下。
というより、大学のスパコン借りている時点でそういうのできなさそう。
私も権限が欲しい。