我已經將幾個項目從Subversion遷移到git。它工作得很好,但是當我克隆我的存儲庫時,它非常長,因爲我擁有包含在傳輸中的大量.jar文件的所有歷史記錄。有沒有辦法從git的歷史中清除一些文件?
有沒有辦法在我的主資源庫中只保留某種類型的文件的最新版本。我主要想刪除二進制文件上的舊版本。
我已經將幾個項目從Subversion遷移到git。它工作得很好,但是當我克隆我的存儲庫時,它非常長,因爲我擁有包含在傳輸中的大量.jar文件的所有歷史記錄。有沒有辦法從git的歷史中清除一些文件?
有沒有辦法在我的主資源庫中只保留某種類型的文件的最新版本。我主要想刪除二進制文件上的舊版本。
你可以刪除舊版本或者用 「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文件。
由於這會修改歷史記錄,因此它會使所有以前的克隆或從此存儲庫中提取無效。
總之,這將涉及重寫整個git commit樹以排除文件。 您是否嘗試過使用git gc
和git pack
讓git壓縮您的存儲庫?