删除与祖先的合并

时间:2014-08-28 11:53:58

标签: version-control mercurial

我有一份关于以下形式的善变回购:

... 27-28----------------------38-39 ... tip
         \__ 29 __ ... __ 37__/

正如你所看到的,我已经意外地将37合并为28,创建了38.如何解决这个问题,以便我得到一个简单的线性历史,如下所示:

... 27-28-29-...-37-39-...tip

2 个答案:

答案 0 :(得分:1)

没有简单的方法可以做到这一点。您可以使用convert扩展名使用--branch-map参数重建包含该历史记录的存储库,并按照您的意愿手动将其拼接在一起,但它会使所有现有克隆无效,改变哈希,做一件痛苦事。不要迷恋线性历史 - 匿名分支和合并是正常DVCS工作流程的一部分。拥抱它。

答案 1 :(得分:1)

如果尚未推送,最简单的是rebase 39(和后代)在37之上,而只是strip更改集38。

你会得到你的线性历史,但正如@ Ry4an所说,“拥抱”你的历史不会是线性的事实,否则它只会让你不开心......