hg:将一些更改提交给另一个分支

时间:2013-08-24 08:13:50

标签: mercurial

当我发现branch-a分支中应该修复的无关错误时,我正在default工作。所以,我想将我的一些更改提交到default,然后将default合并到当前分支中,并继续工作。

据我所知,Mercurial不允许直接提交到另一个分支,所以我必须先切换到默认分支。问题是,我不能简单地检查默认分支,因为其他更改会导致冲突。我能想到的一个工作流程是搁置,结帐默认,只取消与修复,提交,结帐分支-a,合并默认值相关的文件,最后取消搁置其余文件。有没有更简单的方法来实现这一目标?

1 个答案:

答案 0 :(得分:0)

  • 仅提交与branch-a更改相关的文件子集(如果在某些文件中发生了bugfix和branch-a的更改,则另外使用Record Extension的功能 - 仅提交需要的文件)作为changeset A

如果您没有MQ Extension:

  • 将其余更改提交到branch-a作为变更集B(A的子级)
  • 将Rebase B(带有Rebase扩展)更改为default分支,并在oder中使用--keep选项将B放在原始位置

如果您有MQ扩展

  • 使用working-dir changes创建新补丁
  • 取消应用MQ-patch
  • 更新至default
  • 应用补丁
  • 测试,测试......
  • 完成修补程序(转换为永久更改集)
  • 将此变更集移植到branch-a分支