在SourceTree中Git如何撤销已推送的合并提交

8
我不小心合并了一个分支,并勾选了“立即推送更改”。不幸的是,我犯了一个合并错误,现在我想通过反向提交来移除它。然而,每次在SourceTree中执行此操作时,都会出现以下错误:
错误: 提交X是合并但没有给出-m选项。致命错误: 恢复失败。
有没有办法解决这个问题,或者必须使用终端?我已经阅读了相关信息,但是没有找到针对这种情况的解决方案。
2个回答

4

您可以找到关于如何将您的分支(或主分支)恢复到合并之前的状态(硬撤销)的答案。如果将所有内容恢复到该状态是可行的,那么这很好。但通常我需要还原一个功能分支的合并,同时保留在该合并后进行的提交。

只需执行:

git revert -m 1 [copy-paste-the-id-of-the-merge-commit-here]

如果需要,编辑冲突并提交。

编辑:是的,如果您要撤消合并提交,则SourceTree应该传递-m 1参数。


2
您可能需要右键单击最新提交并点击:“重置当前分支到此提交”并在提示时选择“硬模式”。
重要提示:单击“硬模式”后,所有工作副本更改都将被丢弃。
希望这可以帮助您!

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