撤消 git 自动执行

Undo git Auto-merge

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

  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 恢复了提交(不是自动合并)。我怎样才能恢复自动合并?

要中止合并,您可以这样做

git merge --abort

但是现在您恢复了上次提交,除非您已经将失败状态推送到远程,否则我建议您重置到第一次错误存储之前的状态:

git reset --hard HEAD^

此时您可以重试 stash apply 并以不同方式合并它,或者只是不应用存储,但无论如何您都回到原点。

我做了以下,效果很好。

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

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

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