撤消 git 自动合并
Posted
技术标签:
【中文标题】撤消 git 自动合并【英文标题】:Undo git Auto-merge 【发布时间】:2019-08-29 21:09:07 【问题描述】:切换分支后,我应用了 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
,它恢复了提交(不是自动合并)。如何恢复自动合并?
【问题讨论】:
【参考方案1】:要中止合并,您可以这样做
git merge --abort
但是现在您恢复了上一次提交,除非您已经将该失败状态推送到远程,否则我建议您重置到您在第一次错误存储之前的位置:
git reset --hard HEAD^
此时您可以重试stash apply
并以不同方式合并它,或者只是不应用存储,但无论如何您都会回到原点。
【讨论】:
感谢您的回答! @RomainValeri【参考方案2】:我做了以下,效果很好。
首先,我对恢复我上次提交的提交进行了 git revert。这让我回到了 git stash apply 导致的自动合并。
然后,我申请了git reset --merge upgrade_project
,它恢复了自动合并。
编辑:我还了解到 git merge --abort
和 git reset --merge
对于正在进行的合并工作相似。
【讨论】:
以上是关于撤消 git 自动合并的主要内容,如果未能解决你的问题,请参考以下文章