2013-08-01 36 views
1

我的問題:刪除我們的臃腫的git的歷史部分

初,當倉庫被設置了一個搞錯了導致當時的所有圖像寫入到存儲庫上。這很快就在gitignore文件中得到糾正,不再出現問題。

現在的問題是,我們有一個巨大的存儲庫,其中包含圖像的歷史。在本地克隆存儲庫時會出現問題,因爲它比提示中的乾淨克隆要花費很多時間。

我的問題:

有去除包括永遠不會被需要的圖像歷史的一部分的方式是什麼?

如果我不能刪除,我可以壓縮甚至以任何方式清理歷史記錄嗎?

+4

結帳6.4的Git工具 - 改寫歷史(HTTP:// git- scm.com/book/ch6-4.html),尤其是部分* The Nuclear Option:filter-branch *。 – miku

+1

[複製歷史記錄只有當前跟蹤文件的新回購]的可能的副本(http://stackoverflow.com/questions/17901588/new-repo-with-copied-history-of-only-currently-tracked-files), [完全從Git倉庫歷史中刪除不需要的文件](http://stackoverflow.com/questions/307828/completely-remove-unwanted-file-from-git-repository-history),和[從Git中刪除敏感文件及其提交歷史](http://stackoverflow.com/questions/872565/remove-sensitive-files-and-their-commits-from-git-history/872700#872700)。 – 2013-08-01 12:29:06

+0

謝謝@Cupcake,第二個鏈接提供了我需要的答案的一部分。 – Andy

回答

5

如果除去歷史的一部分 - 你用git rebase interactive

如果是刪除文件(由所有版本)使用git filter-branch