如何撤消冲突的git合并

我在分支mybranch1mybranch2mybranch1分叉,并在mybranch2中进行更改。

然后,在mybranch1 ,我已经完成了git merge --no-commit mybranch2它表明在合并时存在冲突。

现在我想放弃所有东西( merge命令),以便mybranch1回到之前的状态。 我不知道该怎么做。


最新的Git:

git merge --abort

这会尝试将您的工作副本重置为合并前所处的状态。 这意味着它应该从合并之前恢复任何未提交的更改,尽管它并不总是如此可靠。 一般来说,您不应该合并未提交的更改。

在版本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在日常工作中更加有用。

链接地址: http://www.djcxy.com/p/7829.html

上一篇: How to undo a git merge with conflicts

下一篇: How to selectively merge or pick changes from another branch in Git?