如何從Git存儲庫中的提交歷史記錄中刪除/刪除大文件?偶爾我會把一個DVD-rip放到一個網(wǎng)站項目中,然后不小心git commit -a -m ...,然后,zap,回購郵件被2.2演出臃腫。下次我做了一些編輯,刪除了視頻文件,并提交了所有內(nèi)容,但是歷史記錄中的壓縮文件仍然存儲在存儲庫中。我知道我可以從那些提交開始分支并將一個分支重新綁定到另一個分支。但是我應(yīng)該怎么做才能將2個提交合并在一起,以便大文件在歷史記錄中沒有顯示并在垃圾收集過程中被清除?
4 回答

aluckdog
TA貢獻1847條經(jīng)驗 獲得超7個贊
使用BFG Repo-Cleaner,這是一種更簡單,更快速的替代方案,git-filter-branch
專門用于從Git歷史記錄中刪除不需要的文件。
仔細遵循使用說明,核心部分就是這樣:
$ java -jar bfg.jar --strip-blobs-bigger-than 100M my-repo.git
任何超過100MB的文件(不在最近的提交中)都將從Git存儲庫的歷史記錄中刪除。然后,您可以使用git gc
清除死數(shù)據(jù):
$ git gc --prune=now --aggressive
BFG通常比運行速度快至少10-50倍git-filter-branch
,并且通常更易于使用。
添加回答
舉報
0/150
提交
取消