撤消 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 --abort
和 git reset --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 --abort
和 git reset --merge
两者对于正在进行的合并的工作方式相似。