我正在使用Mercurial。
我有一些未提交的更改,但我在错误的分支上,如何更新到正确的分支并对我进行更改?
答案 0 :(得分:29)
对于未经修改的更改,您可以使用Shelve extension:
hg shelve --all
hg up correct_branch_name
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的方法来经历一个祖先。