在尝试实现某个功能时,我在Mercurial工作流程中遇到了问题。我正在尝试三种不同的方法来实现该功能,方法是提交每个更新,然后更新到之前的变更集 - 所以我最终得到了三个不同的分支。
一旦我选择其中一个分支作为该功能的“正确”实现,我想删除其他分支,以便我没有多个头。我该如何以简单的方式做到这一点?我最终将三个分支合并在一起,这是毫无意义的,因为我只想从一个分支中获取代码。
答案 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的回答将关闭的分支保留在修订历史记录中,除非你不想要的分支是巨大的,否则这就是我实际要做的。