我刚刚从SVN切换到中断后,我会将一系列修订(从我上次从主干合并到branhc-HEAD)合并到一个分支中。我想使用TortoiseHG对Mercurial做同样的事情,但我无法弄清楚如何使用。我刚刚将两个更改集提交到主干,现在我需要分支来集成这些更改。提前谢谢!
答案 0 :(得分:22)
我写过关于working with branches in Mercurial的指南。归结为:
$ hg update mybranch # unless you are already at the tip of the branch
$ hg merge default # merge in latest changes from "trunk"
$ hg commit -m 'Merge with default'
完成mybranch
后,关闭它并将其合并为默认值:
$ hg commit --close-branch -m 'Ready for merge'
$ hg update default
$ hg merge mybranch
$ hg commit -m 'Integrated mybranch'
Mercurial很酷的一点是,无论你合并哪个方向,你都使用相同的命令。 Subversion的合并跟踪系统要求您在向一个方向合并时添加特殊的命令行标记,而不是在另一个方向合并(我不记得在手册中没有查找它的方向)。
答案 1 :(得分:7)
在hg(或任何DVCS)中,您可以将任何变更集与任何其他变更集(祖先除外)合并。如果您从TortoiseHG(从资源管理器上下文菜单中查看更改日志或从命令行查看hgtk log
)打开存储库日志,您可以更新到任何变更集,然后选择“合并”。
在您的特定情况下,您将更新到您的分支头,然后与主干头合并。
答案 2 :(得分:2)
这就是我通常做的事情:
hg up trunk #assuming trunk is your main branch
hg merge -r myawesomebranch
#party