2011-10-04 48 views
7

鉴于我已经在Mercurial中创建了一个分支,我怎样才能将该分支的合并结果推送到远程存储库,而无需如何获得合并分支结果的历史记录。例如。推送mercurial合并分支没有历史

[a] - [b] -----------------[k] 
    \     /
     [g] - [h] - [i] - [j] 

[a],[b]和[k]是'默认'分支,[g]到[j]是特征分支。一旦我将功能分支合并到默认分支中,当我推送时,如何才能在远程存储库中设置[a] - [b] - [k]设置?我不想简单地看不到分支,我不希望将这些更改集推送到远程存储库。我不在乎我是如何得到[k]的,我关心的是[k]最终结果。

我目前通过克隆方法倾向于分支,但是如何通过克隆来实现这一点?是否也有办法使命名分支工作?

我一直在寻找答案,但有这么多的文件,很难找到这根大海捞针。

回答

7

而不是合并,您希望使用hg rebase--collapse选项。

hg rebase --collapse --source [g] --dest [b] 

底垫扩展附带水银,你只需要enable它在你的设置文件。

p.s.如果您已经提交了合并[k],则在重新绑定之前应该先完成rollback(或strip)。

+0

这样做!感谢所有的链接。现在我希望我能弄清楚如何让TortiseHg正确地做到这一点。 – David

0

我怎么可以把所产生的分支到远程仓库的合并没有的我是怎么到合并后的分支结果

得到剥离历史没有办法史合并分支

+2

按照原样,但[Collapse extention](http://mercurial.selenic.com/wiki/CollapseExtension)可以帮助 –