Answers:
最新的Git:
git merge --abort
这将尝试将您的工作副本重置为合并之前的任何状态。这意味着它应该还原合并之前的所有未提交的更改,尽管它不能始终可靠地进行还原。通常,您无论如何都不应与未提交的更改合并。
1.7.4版之前的版本:
git reset --merge
这是较旧的语法,但与上述语法相同。
在1.6.2之前的版本:
git reset --hard
删除所有未提交的更改,包括未提交的合并。有时,即使在支持上述命令的较新版本的Git中,此行为也很有用。
git reset --merge
甚至仍需要在最新版本中使用。我在git 2.2.1 git merge --abort
中git reset --merge
成功(并且做了正确的事情)出错(不做任何更改)。
git merge --abort
,然后git reset --merge
有从弹出我的藏匿automerge冲突时。
git merge --abort
对我有用,但是我发现自己处于分离HEAD状态的情况,并且我的一个文件处于“两个修改”状态。我想放弃所有内容并返回分支,我不得不这样做git reset --hard
,git merge --abort
告诉我没有要中止的合并(缺少MERGE_HEAD)。
git merge --abort
无法将您带回以前的状态,在这种情况下,“旧语法” git reset --hard
就可以解决问题。
实际上,值得注意的git merge --abort
是,它仅等同于存在的git reset --merge
给定MERGE_HEAD
值。可以在git help for merge命令中阅读。
git merge --abort # is equivalent to git reset --merge when MERGE_HEAD is present.
合并失败后,如果MERGE_HEAD
没有合并失败,则可以(git reset --merge
但不一定)撤消失败的合并git merge --abort
,因此它们不仅是同一事物的新旧语法。
就个人而言,我发现git reset --merge
在日常工作中更有用。
git stash apply
错误的分支,git merge --abort
但没有执行任何操作(否MERGE_HEAD
),同时git reset --merge
完成了窍门。
git merge --abort
是新命令,git reset --merge
而我遇到了与@geomaster相同的问题,这非常有帮助,谢谢!
您可以先执行两件事,即通过命令撤消合并
git merge --abort
要么
您可以通过命令暂时进入先前的提交状态
git checkout 0d1d7fc32
源树
如果您不提交合并,则只需双击另一个分支(= checkout),当sourcetree询问您是否放弃所有更改时,然后同意