2008-09-18 36 views
6

我已經將幾個項目從Subversion遷移到git。它工作得很好,但是當我克隆我的存儲庫時,它非常長,因爲我擁有包含在傳輸中的大量.jar文件的所有歷史記錄。有沒有辦法從git的歷史中清除一些文件?

有沒有辦法在我的主資源庫中只保留某種類型的文件的最新版本。我主要想刪除二進制文件上的舊版本。

回答

5

你可以刪除舊版本或者用 「git的變基」 -i或 「git的過濾分支」

http://schacon.github.com/git/git-filter-branch.html

http://schacon.github.com/git/git-rebase.html

其他文檔和教程: http://git-scm.com/documentation

飼養從現在開始只有當前版本不受支持。你最好的選擇是 而不是修改控制一個小腳本,下載(或生成或以其他方式生成)大型.jar文件。

由於這會修改歷史記錄,因此它會使所有以前的克隆或從此存儲庫中提取無效。

1

總之,這將涉及重寫整個git commit樹以排除文件。 您是否嘗試過使用git gcgit pack讓git壓縮您的存儲庫?

相關問題