如何取消合并Git合并?

red*_*Ace 61 git merge github git-pull

我不小心git pull origin master从开发中做了一个,并且大师被合并到开发中.是否有可能取消合并?

我已经看到了不同的解决方案,我从开发者和主人那里尝试了这个:( git revert -m 1 <commit>每次一次)但是我得到了:一切都是最新的,每次都是

我想在开发中撤消合并主机:https://github.com/iliassk/PED_MyTodo/commits/dev commit:e382550

And*_*and 109

如果您找到它所在的提交,您可以将分支重置为合并之前的状态.

一种方法是使用git reflog,它将列出您拥有的所有HEAD.我发现它git reflog --relative-date非常有用,因为它显示了每次变化发生的时间.

一旦你发现提交只是做一个git reset --hard <commit id>,你的分支将像以前一样.

如果你有SourceTree,你可以查看<commit id>那里是否git reflog过于庞大.

  • git revert -m 1 &lt;commit id&gt; (2认同)
  • 你是一个救星:) (2认同)

Nik*_*hil 43

如果您尚未提交合并,请使用:

git merge --abort

  • @Eightgate,他明确提到"如果你还没有提交合并,那么使用:git merge --abort" (6认同)
  • 如果git快速前进,这将不起作用 (6认同)
  • 谢谢它的工作,因为我还没有提交合并:) (3认同)

Pra*_*ran 15

如果合并被意外接受git merge --continue或者更改在 时自动提交git pull <branch>,那么我们可以通过执行来恢复或撤消最近的合并

git reset --merge HEAD~1
Run Code Online (Sandbox Code Playgroud)

此命令将我们的存储库恢复到最后一次提交。HEAD 指的是存储库的当前状态;HEAD~1 是存储库中的最后一次提交。


poi*_*ige 7

git revert -m允许取消合并仍然保留合并和取消操作的历史记录。可能对记录有好处。