2011-11-11 29 views
6

是否甚至有可能完全從Git存儲庫中刪除特定的變更集。我想這樣做是因爲之前曾經提交過一個提交了一些對源代碼管理絕對無用的二進制文件。一起從Git倉庫中刪除特定的變更集?

我可以理解,鑑於提交節點具有父母和特定歷史的事實,這是不可能的,但我想這不會傷害問。

問題的答案是否定的:「你能否在發生提交之前克隆新的時間並從那裏再次開始?」。

+0

可能的重複[如何刪除在git中錯誤提交的大文件](http://stackoverflow.com/questions/8083282/how-do-i-remove-a-big-file-wrongly-committed-在-GIT) – antlersoft

回答

8

使用git rebase -i <commit-id>,id是在要刪除的變更集之前的提交。它將打開頭部和變更集之間的提交列表,從列表中刪除所需的提交併繼續。當這個提交將被「分離」時,這意味着它將在存儲庫中浮動,直到它被垃圾回收。你可以使用git gc來強制它。

但是,您應該記住,存儲庫中的所有克隆都會發生分歧,並且應該在其之後重新分配。