29

2013 年 6 月 18 日の時点でのこの変更は、その制限を超えるファイルを含む既存のリポジトリにどのように影響しますか? 最後に 2 か月前に大きなファイルをプッシュしました。

ローカルで削除した大きなファイルがありますが、今は何もプッシュできません。「リモート エラー」が発生します... remote: error: File cron_log.log is 126.91 MB; これは GitHub のファイル サイズ制限である 100 MB を超えています

元のプッシュ後にファイルを.gitignoreに追加しました...しかし、リモート(オリジン)にまだ存在します

ローカルで削除すると、オリジン(Github)で削除されますよね?…が…Githubに制限を超えたファイルがあるのでプッシュさせてくれません…

https://github.com/blog/1533-new-file-size-limits

これらは私が発行したコマンドとエラーメッセージです..

git add .
git commit -m "cron_log.log を削除"
git push オリジンマスター

リモート: エラー コード: 40bef1f6653fd2410fb2ab40242bc879
リモート: 警告: エラー GH413: 大きなファイルが検出されました。
リモート: 警告: 詳細については、http://git.io/iEPt8g を参照してください。
リモート: エラー: ファイル cron_log.log は 141.41 MB です。これは GitHub のファイル サイズ制限である 100 MB を超えています
リモート: エラー: ファイル cron_log.log は 126.91 MB です。これは GitHub のファイル サイズ制限である 100 MB を超えています

https://github.com/slinds(こちらは省略)/linexxxx(省略はこちら).gitへ
 ! [リモート拒否] マスター -> マスター (事前受信フックが拒否されました)
エラー: 一部の参照を 'https://github.com/slinds(omited_here) にプッシュできませんでした

次に、次のようなことを試しました

git rm cron_log.log
git rm --cached cron_log.log

同じエラー。

4

6 に答える 6

26

rlb.usaが指摘したように、Github は、100MB を超えるファイルをプッシュできないようにするファイル サイズ制限を追加しました。新しいコミットでファイルを削除しようとして、それをプッシュしようとしました。最後のコミットだけでなく、他の 3 つのコミットもプッシュしているため、これは失敗します。これら 3 つのコミットには、サイズが 141MB と 126MB の cron_log のバージョンが含まれています。プッシュが失敗する原因になります。

これを修正するには、次の 2 つのオプションがあります。

  • を実行git rebase -i origin/masterし、すべてのコミットを設定して、それぞれのファイルを編集および削除しますgit commit --amend
  • BFG Repo-Cleanerを使用して、すべての履歴を消去します。
于 2013-07-02T01:17:05.113 に答える
26

こんにちは、この方法で簡単に解決できます:

git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch FILENAME.TAR' --prune-empty --tag-name-filter cat -- --all

リンク: https://help.github.com/articles/remove-sensitive-data

于 2013-07-31T10:36:52.603 に答える
0

この Python スクリプトを使用して、大きなファイルのレポをクリーンアップします (私はレポで使用しましたが、うまくいきました) https://gist.github.com/1433794

于 2013-06-29T22:31:08.917 に答える