恢复到合并分支之前

时间:2013-03-22 14:44:39

标签: git

我有我的主分支,然后我正在处理另一个功能,将其合并到我的本地主人,然后将其推送到Github。

现在我需要删除因此合并而发生的所有更改,直到另行通知,但能够在稍后的时间点将它们合并。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:4)

您必须弄清楚哪个合并前提交代表“主线”,即您要保留的部分。您可以使用git log

执行此操作
commit b556759a560650506da58e59f6a7c6a2c4bcb8f4
Merge: e3dac0d 090ad85

...并对两个父提交进行目视检查。 (出现 git merge foo总是将HEAD放在父母列表的第一个位置和foo秒的头部,但我不确定如果这是有保证的。)

假设e3dac0d是主线​​,所以我们想要恢复090ad85的合并,然后是

git revert -m e3dac0d b556759

有关详细信息,请参阅Torvalds和Hamano的revert a faulty merge howto