如何撤消git merge与冲突
我在分支mybranch1
。 mybranch2
从mybranch1
分叉,并在mybranch2
中进行更改。
然后,在mybranch1
,我已经完成了git merge --no-commit mybranch2
它显示合并时有冲突。
现在我想放弃一切( merge
命令),以便mybranch1
回到以前的状态。 我不知道如何去做这件事。
最新的Git:
git merge --abort
这会尝试将您的工作副本重置为合并前的状态。 这意味着它应该从合并之前恢复任何未提交的更改,尽pipe它并不总是如此可靠。 一般来说,不应该合并未提交的更改。
在版本1.7.4之前:
git reset --merge
这是较旧的语法,但是与上面的一样。
在版本1.6.2之前:
git reset --hard
这将删除所有未提交的更改,包括未提交的合并。 有时甚至在支持上述命令的Git的新版本中,这种行为也是有用的。
假设你正在使用最新的git,
git merge --abort
其实,值得注意的是, git merge --abort
只相当于git reset --merge
因为MERGE_HEAD
是存在的。 这可以在合并命令的git帮助中读取。
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
在日常工作中更加有用。