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

ale*_*kop 5 mercurial

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

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

Laz*_*ger 0

  • 仅提交与更改相关的文件子集branch-a(如果某些文件中发生错误修复和分支 a 的更改,则额外使用记录扩展的功能 - 仅提交所需的文件块)作为更改集 A

如果您没有 MQ 扩展:

  • 将其余更改提交为branch-a更改集 B(A 的子级)
  • Rebase B(带有 Rebase 扩展)将更改集更改为default分支,并--keep带有选项,以便 B 也位于原始位置

如果您有 MQ 扩展

  • 使用工作目录更改创建新补丁
  • 取消应用 MQ 补丁
  • 更新至default
  • 应用补丁
  • 测试一下...
  • 完成补丁(转换为永久变更集)
  • 仅将此变更集移植到branch-a分支中