2014-08-28 96 views
0

合并我有followng形式的善变回购:删除与祖先

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

你可以看到,我已经无意中合并成37 28,创造38我怎样才能解决这个问题,让我得到一个简单的线性历史,如下:

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

你的合并是公开的吗,即你推出它吗?一旦变更是公开的,它是不可改变的,不能改变或移动。另外,为什么你想要一个线性历史?你想解决什么问题? – 2014-08-28 14:38:21

+0

不,它尚未发布。为什么我需要它没有强有力的理由。我只是好奇而已。 – user3905553 2014-08-28 16:22:50

回答

1

有没有简单的方法来做到这一点。您可能可以使用convert扩展名,使用--branch-map参数重建带有该历史记录的存储库,并根据需要手动将它们拼接在一起,但会使所有现有的克隆无效,更改哈希,并且很难做到。不要迷恋线性历史 - 匿名分支和合并是正常DVCS工作流的一部分。拥抱它。

1

如果没有推,最简单的就是在37上方rebase 39(和后代),并简单地strip变更38

你会得到你的线性的历史,但作为@ Ry4an说, “拥抱”你的历史将不会是线性的事实,否则它只会让你不快乐......