如何撤消主分支的合并? [复制]
Posted
技术标签:
【中文标题】如何撤消主分支的合并? [复制]【英文标题】:How to undo merge of master branch? [duplicate] 【发布时间】:2016-04-10 20:12:47 【问题描述】:我是新的 Github,所以请原谅一个看似显而易见的问题。我有一个 Experimentation
分支,它比 master
分支早 24 次提交。
按照本教程,我将master
分支与Experimentation
分支合并,如下所示:
git checkout master
git merge Experimentation
(没有合并冲突。)
但后来我意识到合并两个分支不会保留Experimentation
分支的提交历史记录,而我真正想要的是做一个变基(为了保留Experimentation
分支的提交历史记录)。
所以我的问题是:如何撤消master
分支的合并?
我已经试过了:
$ git branch
Experimentation
* master
pod-attempt
$ git merge --abort
fatal: There is no merge to abort (MERGE_HEAD missing).
“致命”消息让我感到困惑 b/c 我以为我确实合并了 master
分支。
【问题讨论】:
git merge abort 仅在合并期间有效,而不是之后。例如,当您有冲突要解决时,您正处于合并过程中,您可以中止它。 @alexscott 哦,好的,谢谢你的澄清! 【参考方案1】:没有正在进行的merge
待处理,所以 git 应该会显示给你,
fatal: There is no merge to abort (MERGE_HEAD missing).
现在如果你想回到之前的状态(合并前的状态),试试
$ git branch
Experimentation
* master
pod-attempt
$ git reset --hard HEAD~24
你已经完成了!
【讨论】:
我收到一个错误:fatal: ambiguous argument 'HEAD~c927e642': unknown revision or path not in the working tree。使用 '--' 将路径与修订分开,如下所示:'git24
这个数字到底是做什么的?
@aexl 它是你想从头开始的提交数。 OP 想要继续 24 所以它在示例中提到,您可以尝试任何有效的 cl 计数。以上是关于如何撤消主分支的合并? [复制]的主要内容,如果未能解决你的问题,请参考以下文章