mercurial中的功能分支

时间:2013-09-27 13:49:37

标签: git version-control mercurial merge feature-branch

我注意到一个问题:
在Mercurial中,书签旨在用于特征分支,并且相当于Git中的分支。但是在Git中,修订版总是有关于它所属的分支的信息。因此,在Git中,我们总是可以说当功能开始工作和何时完成。

在Mercurial中 - 书签只指向一个提交,因此我们无法说明功能分支实际启动的位置,并且我们无法合并该功能分支(因为修订将属于与我们要合并的修订版本相同的分支) 。这只有在使用命名分支时才有可能,但对于功能分支来说它们“很重”,而书签似乎太“轻量级”。

该问题的常见解决方案是什么以及如何在Mercurial中进行适当的功能分支?

UPD:
我希望实现的近似工作流程是:
- 使新的无意义提交默认为
- 更新到上一次提交,并进行与功能相关的提交 - 然后合并无意义的提交,并用合并的结果修改它。

1 个答案:

答案 0 :(得分:3)

  1. Git的“分支”和Mercurial的书签完全等同,有一个小的例外(与“轻量级分支”无关):Git分支默认拉出,Mercurial书签是本地的,可以拉|仅在明确定义时推送
  2. 你被误导了Git-changesets的元数据 - 它们不包含非尖端变更集属于的分支名称
  3. 可以始终将书签合并到任何分支的任何其他HEAD(或非首脑),并且您没有知道开始 - 功能分支点是为了做到这一点:直到合并点和hg merge <bookmark>
  4. "Branching with Bookmarks"
  5. 的一部分中阅读Steve Losh的“Mercurial中的分支指南”