2016-02-26 142 views
6

我意外地合并了一个分支,并且选中了“立即推送更改”。不幸的是我犯了一个合并错误,现在我不想做出反向提交来删除它。不过我每次做一次SourceTree我得到以下错误:Git反向提交SourceTree中的推送合并

error: Commit X is a merge but no -m option was given. fatal: revert failed

有没有办法做到这一点还是我必须使用终端呢?一直在读它,但无法找到解决这个特定情况。

回答

3

您可以找到有关如何将分支(或主分支)恢复到合并之前的状态(硬回复)的答案。如果可以将一切恢复到该状态,那就没问题。但通常我必须恢复功能分支的合并,同时保留合并后提交的提交。

只要做到:

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

如果必要的话,编辑冲突和提交。

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

2

您可能需要右键单击最新的承诺,并单击:

“重置当前分支这一承诺”

enter image description here

并在提示时选择困难模式。

enter image description here

重要提示: 所有工作副本的修改将在点击困难模式被丢弃。

希望这会有所帮助!

干杯!