【问题标题】:Git reverse commit a pushed merge in SourceTree [duplicate]Git反向提交SourceTree中的推送合并[重复]
【发布时间】:2016-06-09 17:03:06
【问题描述】:
我不小心合并了一个分支并选中了“立即推送更改”。不幸的是,我犯了一个合并错误,现在我不想进行反向提交来删除它。但是,每次我在 SourceTree 中执行此操作时都会出现以下错误:
错误:提交 X 是一个合并,但没有给出 -m 选项。致命的:
还原失败
有什么方法可以做到这一点,还是我必须使用终端?一直在阅读它,但找不到针对此特定案例的解决方案。
【问题讨论】:
标签:
c#
git
merge
atlassian-sourcetree
【解决方案1】:
您可以找到有关如何将您的分支(或主分支)恢复到合并之前的状态(硬还原)的答案。如果可以将所有内容恢复到该状态,那很好。但通常我必须恢复功能分支的合并,同时保留合并后所做的提交。
只要做:
git revert -m 1 [copy-paste-the-id-of-the-merge-commit-here]
如有必要,编辑冲突并提交。
编辑:是的,如果您要撤消合并提交,SourceTree 应该传递 -m 1 参数。
【解决方案2】:
您可能需要右键单击最新的提交并单击:
“将当前分支重置到此提交”
并在出现提示时选择硬模式。
重要提示:
单击硬模式后,所有工作副本更改都将被丢弃。
希望这会有所帮助!
干杯!