Mercurial 在《乌龟》中,我怎么能;将本地文件与选定的“文件”合并;?
实际上,我想做与“与本地合并”相反的事情 澄清: 我们有一个发布分支和一个默认分支。在发布分支上执行错误修复时,以下是例行程序:Mercurial 在《乌龟》中,我怎么能;将本地文件与选定的“文件”合并;?,mercurial,merge,tortoisehg,Mercurial,Merge,Tortoisehg,实际上,我想做与“与本地合并”相反的事情 澄清: 我们有一个发布分支和一个默认分支。在发布分支上执行错误修复时,以下是例行程序: 更新发布分支 实现bug修复,并提交 更新到默认分支 右键单击发布分支中的bug fix commit,并选择“与本地合并…” 由于在发布分支上完成了大量工作,所以在分支之间一直进行更新会变得很乏味。在以前版本的TortoiseHg中,我可以在执行合并之前选择分支,实际上是执行“将本地与选定对象合并”。这将消除上述步骤1和3 这在Ortoisehg中还可行吗?我还没有
这在Ortoisehg中还可行吗?我还没有找到一种方法,甚至命令行合并也总是使用local。我只是为每个分支保留一个克隆,并在克隆之间切换,而不是更新单个克隆。对于大型项目,这可以防止在更改分支时通常需要大量时间的“全部重建”。添加额外的拉动步骤,但总体上节省了时间:
三方合并基本上是对称的:将两个不同版本的代码(两个分支)合并为一个版本(合并提交)。更新到
默认值
和合并到发行版
之间没有技术上的区别,或者相反。特别是,合并冲突完全相同
在Mercurial中,由于命名的分支名称,有一个额外的转折点:默认情况下,合并提交将继承其第一个父级的分支名称。如果在合并之前未更新到默认值
,则第一个父级将因此成为版本
。但您可以在提交之前更改分支名称
在命令行上,它只是:
$ hg update release
$ hg merge default
$ hg branch default
$ hg commit -m 'Merged release into default'
在2.0之前版本的TortoiseHg中,您会看到以下对话框以提交合并:
提交消息上方的“branch:release”按钮可用于更改下一次提交(合并提交)的分支。在OrtoiseHG 2.x中,对话框如下所示:
并且不再有一个按钮来更改分支
也许你可以要求TortoiseHg开发者再次添加该按钮,或者如果你想要一个兼容Mercurial现代版本的2.0之前的TortoiseHg,你也可以使用它。有趣!在post-2.0中,可以通过取消合并提交,然后使用正常提交过程在另一个分支上提交合并。@MarkTolonen:啊,真聪明!我没有想过取消对话框。此问题现在已在上报告