5

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

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

4

1 回答 1

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

如果您没有 MQ 扩展:

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

如果您有 MQ 扩展

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