【发布时间】:2011-01-15 06:50:40
【问题描述】:
我已经完成了功能分支feature-x 的工作。我想将结果合并回default 分支并关闭feature-x,以便在hg branches 的输出中摆脱它。
我想出了以下场景,但它有一些问题:
$ 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,将列在 @ 987654331@每次:
$ 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:但指出的文章不仅仅谈论“--close-branch”。它显示了修剪分支的 四种 方法。如果您真的不再想要它,您可以按照文章中的说明进行克隆。唯一的“问题”是您是否出于某种原因想要关闭它,但仍保留它。
-
@WizardOfOdds 是的,我已经阅读了整篇关于修剪枯枝的文章。我希望分支保留在修订历史中,而不是丢弃它。以前我只是将功能分支合并到
default中,而没有“关闭”它们。它产生了 0 个新头,但这些分支在hg branches中永远可见(作为非活动分支)。 -
为了开发功能,我倾向于克隆整个存储库,然后在功能完成后将其合并回来。我不喜欢历史上(关闭)分支的遗骸。
标签: merge mercurial branch hg-merge