Mercurial实验工作流程

时间:2010-09-16 15:55:00

标签: mercurial workflow branch

在尝试实现某个功能时,我在Mercurial工作流程中遇到了问题。我正在尝试三种不同的方法来实现该功能,方法是提交每个更新,然后更新到之前的变更集 - 所以我最终得到了三个不同的分支。

一旦我选择其中一个分支作为该功能的“正确”实现,我想删除其他分支,以便我没有多个头。我该如何以简单的方式做到这一点?我最终将三个分支合并在一起,这是毫无意义的,因为我只想从一个分支中获取代码。

3 个答案:

答案 0 :(得分:2)

以下关闭分支

hg commit --close-branch

它不会显示在

hg branches or hg heads

答案 1 :(得分:2)

除了mq extension中的hg strip之外,您只需使用standard clone command

$ hg clone -r the-good-head . ../pruned

../pruned中获得一个只包含好头(及其所有祖先)的克隆。这是在Mercurial中修剪内容的安全,内置方法,它的优点是命令后仍然可以保存两个存储库。因此,如果您犯了错误,那么只需删除../pruned克隆。

答案 2 :(得分:1)

启用内置mq扩展程序并运行hg strip

@ pyfunc的回答将关闭的分支保留在修订历史记录中,除非你不想要的分支是巨大的,否则这就是我实际要做的。