我已经合并some-branch
到master
,但是遇到了冲突。如何撤消此操作?
git checkout master
git merge some-branch
...
CONFLICTS :(
git merge --abort
是最近添加的选项。它做你所期望的。
如果您有冲突,您的合并将不会被提交,因此您可以使用git reset --hard HEAD
删除合并。
使用现代 git,您可以按照先前答案中的建议:
git merge --abort
旧语法:
git reset --merge
老派,在之前的回答中也建议:
git reset --hard
但实际上,值得注意的是,thatgit merge --abort
仅相当于git reset --merge
given that MERGE_HEAD
is present。这可以在 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
在日常工作中更有用,所以这是我一直使用的方法。