因此,我的一个同事偶然做了合并,实际上只保留树的一侧。于是他开始合并,删除了合并引入的所有更改,然后进行合并。你如何恢复错误的混帐合并提交
这是一个简单的测试用例,我在测试回购上做过。这个回购有三个分支。 idx是意外合并的主题分支,master是主线。 dev仅仅是对-m如何恢复的测试,所以你可以忽略它。
我想要做的是恢复故障合并。因此,从主我尝试运行git revert -m 1 <sha1sum of faulty merge>
但随后的git与回应:
# On branch master
nothing to commit (working directory clean)
所以它实际上并没有创建一个还原提交该撤销合并。我相信会发生这种情况是因为合并实际上并未包含任何实际更改。
如果你想玩弄我的测试回购可以从here
下载这是一个git的bug,还是我失去了一些东西?
我不知道你为什么说“它实际上不创建合并提交” - 它不应该。您应该期待它创建一个正常的提交,这将反转合并提交的效果。 – Cascabel 2010-11-03 15:40:52
是的,对不起,这应该是说它实际上并没有创建一个恢复提交。 – 2010-11-03 23:51:44