2011-10-04 47 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)可以幫助 –