从本地历史记录中删除git merge commit

时间:2015-03-25 11:03:17

标签: git git-merge

我的提交历史如下:

commit history

黄色是主分支,蓝色和紫色是特征分支。提交0-5已被推,提交6-10只是本地。

我想撤消合并提交6的效果,我的意思是完全删除它,并将C7重新路由为C1和C2的合并。

关于如何实现这一目标的任何想法?

1 个答案:

答案 0 :(得分:2)

这不会很容易,因为你需要一些试验和错误,所以在这之前最好先拿一份git repo的(本地)副本。然后尝试这样的事情:

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