撤销将主分支合并到功能分支的git操作

3

我有两个分支:Master和Feature。

我对Master进行了一些更改,并希望将它们复制到Feature中。因此,我将Master合并到Feature中。显然,这是错误的做法,因为现在Feature之前的更改出现在了Master中。

What I expected:
A - B - - - - E - G   [master]
     \         \
      C - D - - F - H [feature]

What it looks like now:
                      G   [master] 
                     /
A - B - C - D - E - F - H [feature]

有趣的部分来了:在注意到问题之前,我将Master分支合并到Feature分支两次,并且我已经对两个分支都进行了其他提交。我该如何撤消合并或使Master不受Feature提交的影响?


1
你的ASCII图表不够清晰/明确。请阅读我在这个答案顶部的备注,并更正你的图表,以便我们准确地知道你的分支指向哪里。 - jub0bs
1
@hunch_hunch 这样说是很危险的建议。如果功能分支被推到某个地方并且其他人在上面工作怎么办?变基仍然是一项高级功能。应该先掌握简单的合并。 - musiKk
1
请在回复中包含您执行合并的命令。根据您所描述的内容,您的图表仍然不合理。 - Andrew C
@Jubobs。这个表示应该更准确一些。 - sharoz
2
如果您将Master合并到Feature中,则不会看到来自Feature的更改出现在Master中。我怀疑您完全做了其他事情(尽管很可能是无意地或者没有意识到...)。 - twalberg
显示剩余8条评论
1个回答

0

根据您在问题中绘制的树形结构,您想要从主分支撤销提交 C、D 和 F。为了实现这一点,请在命令提示符下键入:

git checkout master
git revert C
git revert D
git revert F

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接