2015-03-25 76 views
0

提交我的提交歷史看起來是這樣的:刪除git的合併從當地歷史

commit history

黃色是主分支,藍色和紫色的功能分支。提交0-5已被推送,提交6-10只是本地。

我想撤消合併提交6的效果,我的意思是將其完全刪除,並將C7重新路由爲C1和C2的合併。

有關如何實現此目的的任何想法?

回答

2

這不會很容易,而且由於您需要一些試驗和錯誤,所以在做這件事之前最好拿一份(本地)git回購副本。然後嘗試這樣:

git branch temp <sha-2> 
git merge <sha-1> 
git merge <sha-5> 
git checkout master 
git rebase temp 
git branch -d temp 
+0

創建臨時分支完美工作。我並不需要與C5合併,因爲我想要的是,而不是'git checkout master',我不得不結賬C10,但主要策略像一個魅力。 – ChD 2015-03-25 14:16:46

+0

好的不客氣:) – 2015-03-25 15:15:45