我在分支mybranch1
。 mybranch2
是从mybranch1
派生的,并在mybranch2
中进行了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 中,此行为也很有用。
实际上,值得注意的是, MERGE_HEAD
存在git reset --merge
, git merge --abort
仅等效于git reset --merge
。可以在 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 reset --merge
起来非常有用。
假设您使用的是最新版的 git,
git merge --abort