我最近开始使用 Mercurial 跟踪我的项目的更改。在开始研究某个功能之前,我做了几次修改。现在,我想在实现该功能之前返回到我的修订版,并尝试以一种非常不同的方式实现它。但是,我想保留我在第一个实现时所做的一些更改,因为无论我选择哪种实现,它们都同样适用。
在我开始实现该功能之前更新回修订版的最佳方法是什么,但有选择地将默认分支上的更改合并到一个新的独立分支中?这是与 Mercurial 合并/分支的正确方法吗?如果我这样做,我以后是否可以“删除”这些分支之一以支持此功能的一个特定实现?
最佳答案
如果您有像 Beyond Compare 这样的外部 diff 程序,这很容易。
hg bcompare
将运行 Beyond Compare) hg branch
) 或设置一个书签 ( hg bookmark
) 来跟踪这组新更改。有关差异的说明,请参阅 http://stevelosh.com/blog/2009/08/a-guide-to-branching-in-mercurial/。 当您决定需要哪种实现时,您可以更新到 不希望 想要的分支的头部,并使用
hg commit --close-branch
将其标记为关闭,这仍将其作为存储库中的头部。如果要将其作为头部移除,请更新到 执行 想要的分支的头部,并使用 hg merge --tool internal:local <rev-of-the-other-head>
合并它,但保留所有想要的更改。关于mercurial - 使用 Mercurial 合并一些修订版,但不合并其他修订版,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5738841/