将错误分支上的未提交更改发送到正确的分支

时间:2011-11-03 20:02:19

标签: mercurial

我正在使用Mercurial。

我有一些未提交的更改,但我在错误的分支上,如何更新到正确的分支并对我进行更改?

3 个答案:

答案 0 :(得分:29)

对于未经修改的更改,您可以使用Shelve extension

  1. hg shelve --all
  2. hg up correct_branch_name
  3. hg unshelve

答案 1 :(得分:11)

我问过irc

mpm说

hg diff > mychanges; hg up -C somewhere; hg import --no-commit mychanges

我考虑过但是我试图避免的。

d70说

i think you can easily do it by "hg update"ing to a changeset that is a
parent of the branch you're trying to switch to, and then "hg update"ing to the
tip of that branch

所以我做到了。

hg up -r <shared root rev>
hg up branchIwant

我询问“为什么”,并且被告知“你不允许跨越分支更新”,这对我起初没有意义。然后我意识到,因为我经历了共享根转,它不是跨越分支。

答案 2 :(得分:0)

我通常使用

hg qnew
hg qpop
hg up -c <target-rev>
hg qpush
hg qfinish qtip

但是我也经常使用jrwren的方法来经历一个祖先。