我已經完成了一個功能分支feature-x
的工作。我想將結果合併回default
分支,並關閉feature-x
,以便在hg branches
的輸出中清除它。如何正確關閉Mercurial中的功能分支?
我想出了下面的情況,但仍存在一些問題:
$ hg up default
$ hg merge feature-x
$ hg ci -m merge
$ hg up feature-x
$ hg ci -m 'Closed branch feature-x' --close-branch
所以feature-x
分支(changests 40
- 41
)是封閉的,但有一個新的頭,收盤分支變更44
,將在hg heads
每次列出:
$ hg log ...
o 44 Closed branch feature-x
|
| @ 43 merge
|/|
| o 42 Changeset C
| |
o | 41 Changeset 2
| |
o | 40 Changeset 1
|/
o 39 Changeset B
|
o 38 Changeset A
|
更新:從1.5版開始,Mercurial似乎不再在hg heads
的輸出中顯示封閉分支的頭部。
是否可以關閉合並分支而不留下多一個頭?是否有更正確的方法來關閉功能分支?
相關問題:
@Andrey:但文章指出不只是談論「 - 關閉分支」。它顯示*四種方法來修剪你的分支。如果你真的不再需要它,可以按照文章中的解釋克隆。唯一的「問題」是,如果出於任何原因你想關閉它,但要保持它。 – SyntaxT3rr0r 2010-02-10 17:52:24
@WizardOfOdds是的,我讀過修剪枯枝的整篇文章。我希望分支留在修訂歷史記錄中,而不是扔掉它。以前我只是將功能分支合併到'default'中,而不是「關閉」它們。它導致了0個新的頭,但這樣的分支永遠可見於'hg branches'(作爲非活動分支)。 – 2010-02-10 18:02:51
要開發功能,我傾向於克隆整個存儲庫,然後在功能完成後將其合併回來。我不喜歡在歷史上留下(封閉)分支的遺體。 – DanMan 2014-03-28 21:38:15