【发布时间】:2010-09-30 16:15:30
【问题描述】:
我刚从 SVN 切换过来,在对主干进行一些更改后,我会将一系列修订(从我上次从主干合并到 branhc - HEAD)合并到一个分支中。我想用 TortoiseHG 对 Mercurial 做同样的事情,但我不知道怎么做。我刚刚向主干提交了两个变更集,现在我需要分支来整合这些变更。提前致谢!
【问题讨论】:
标签: mercurial merge tortoisehg
我刚从 SVN 切换过来,在对主干进行一些更改后,我会将一系列修订(从我上次从主干合并到 branhc - HEAD)合并到一个分支中。我想用 TortoiseHG 对 Mercurial 做同样的事情,但我不知道怎么做。我刚刚向主干提交了两个变更集,现在我需要分支来整合这些变更。提前致谢!
【问题讨论】:
标签: mercurial merge tortoisehg
我写了一篇关于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 的合并跟踪系统要求您在向一个方向合并时添加特殊的命令行标志,而不是在另一个方向(如果没有在手册中查找,我不记得哪个方向是哪个方向)。
【讨论】:
在 hg(或任何 DVCS)中,您可以将任何变更集与任何其他变更集(祖先除外)合并。如果您从 TortoiseHG 打开存储库日志(从资源管理器上下文菜单查看变更日志或从命令行hgtk log),您可以更新到任何变更集,然后选择“合并”。
在您的具体情况下,您将更新到您的分支头,然后与主干头合并。
【讨论】:
这是我通常做的:
hg up trunk #assuming trunk is your main branch
hg merge -r myawesomebranch
#party
【讨论】: