撤消git自动合并

时间:2019-04-08 16:48:50

标签: git git-merge git-stash git-revert

切换分支后,我应用了stash(如下所示),这导致了自动合并。

  git stash apply

Auto-merging src/clojure/project_src.clj
On branch upgrade_project
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

modified:   src/clojure/project_src.clj

no changes added to commit (use "git add" and/or "git commit -a")

我尝试了git revert HEAD,它还原了一次提交(而不是自动合并)。如何还原自动合并?

2 个答案:

答案 0 :(得分:2)

要中止合并,您可以完成

git merge --abort

但是,既然您已还原了上一次提交,并且除非您已将该失败状态推送到远程状态,否则我建议将其重置为第一个不良存储之前的位置:

git reset --hard HEAD^

在这一点上,您可以重试stash apply并以不同的方式合并它,或者只是不应用隐藏项,但是无论如何您都将回到第一个正方形。

答案 1 :(得分:2)

我做了以下工作,

首先,我对提交进行了git还原,还原了我的上一次提交。这使我又回到了由git stash应用导致的自动合并。

然后,我应用了git reset --merge upgrade_project,它恢复了自动合并。

编辑:我还了解到git merge --abortgit reset --merge在进行中的合并中的工作方式相似。