Mercurial,将工作副本中的更改提交到另一个分支

时间:2014-07-01 16:07:23

标签: mercurial branch working-copy

我忘记将我的工作副本切换回正确的分支并进行了一些更改。

如何将当前更改(但不是当前分支中的所有其他更改)提交到原始分支?

2 个答案:

答案 0 :(得分:5)

如果我理解正确,您需要在另一个分支之上进行未提交的更改。

我首选的方法是使用工具架功能保存所有更改,更新到正确的分支,然后将更改解压缩回适当的分支。

要在命令行上执行此操作,请将hg diff的结果保存在修补程序文件中,然后更新到其他分支并hg import <patch>

最后,根据需要提交变更集。

答案 1 :(得分:2)

  • Shelve extension允许您存储WIP,获得干净的工作目录,更新到所需的分支,释放搁置
  • MQ exension(以某种方式矫枉过正)允许做同样的事情,如搁置
  • 最后,您可以使用Rebase extension
  • 将提交到错误的分支并将此更改集重新绑定到正确的父级