因累积太多无法提交到 github,如何清除历史变更记录?
某草草
某草草 2017-05-02 09:31:58
0
2
631

如题,累积有半年没 push 到 github 了,由于里面有几个 jar 没忽略,越来越多,push 后会报:

Counting objects: 4779, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3903/3903), done.
error: RPC failed; result=56, HTTP code = 200 | 14.92 MiB/s
fatal: The remote end hung up unexpectedlyMiB | 158.00 KiB/s
Writing objects: 100% (4779/4779), 628.84 MiB | 152.00 KiB/s, done.
Total 4779 (delta 2353), reused 3 (delta 0)
fatal: The remote end hung up unexpectedly
Everything up-to-date

搜了一些方法,像什么换 ssh 之类,都无效,请问有什么简单办法抛弃掉历史记录,只把当前的版本 push 上去?

实在没办法只好重新 clone 再覆盖,但线上也有几百兆,能有什么命令参数简单抛弃掉就最好了。


找到一个办法 https://www.kernel.org/pub/software/scm/git/docs/git-filter-branch.html 可以清理历史,目前正尝试,OK 后再来续写。

某草草
某草草

全員に返信(2)
伊谢尔伦

ついに簡単な方法を見つけました。git に付属の filter-branch コマンドを使用するとフィルタリングと削除ができますが、遅すぎて一晩中実行しましたが、98% の進行状況で止まりませんでした。その後、BFG Repo-Cleaner ツールを見つけて数分以内に削除しました。提出された tar.gz、zip、jar、war などはすべて削除され、.git ディレクトリのサイズは約 2.9G から 70M に減少しました。以前はソースコードを残して、最終的に github にプッシュしました。

具体的な実行プロセスは次のとおりです:

リーリー
いいねを押す +0
大家讲道理

rebase、-f

を押すとき
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート