Tech カテゴリのイメージ

remote: warning: File is X MB; this is larger than GitHub's recommended maximum の対処

これは警告で、push自体は通ることが多いですが、GitHubは1ファイル100MBを超えると拒否します。原因は大きなバイナリファイル(モデルの重み、動画、データセットなど)をそのままGitでコミットしていることで、Git LFSに切り替えるか、そもそもリポジトリに含めない設計に直すのが対処になります。

remote: warning: File model.bin is 87.00 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB

原因

Gitは本来、テキストの差分管理に向いた仕組みで、大きなバイナリファイルの扱いは苦手です。そのままコミットすると、リポジトリのサイズが膨らみ続け、cloneやpushが遅くなります。GitHubは50MBで警告、100MBで拒否という基準を設けています。

対処

  1. 今後も大きなファイルを扱うなら、Git LFS(Large File Storage)を導入します。
Terminal window
git lfs install
git lfs track "*.bin" "*.safetensors" "*.mp4"
git add .gitattributes
git add model.bin
git commit -m "track large files with LFS"
git push
  1. すでにコミットしてしまった大きなファイルを履歴から消したい場合は、専用ツールを使います(git rm だけでは履歴に残り続けます)。
Terminal window
git filter-repo --path model.bin --invert-paths
  1. モデルの重みなど、そもそもGitで管理する必要がないものは .gitignore に入れ、別の場所(クラウドストレージやHugging Face Hub)で配布する設計に切り替えるのが根本的な解決です。
.gitignore
*.safetensors
*.bin
checkpoints/

まとめ

・原因は大きなバイナリファイルをそのままGit管理していること ・今後扱うなら Git LFS を導入して track する ・すでにコミット済みの履歴は git filter-repo 等で除去する ・モデルファイルは.gitignoreに入れ、別の配布手段を使うのが根本対応