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

jrw*_*ren 13 mercurial

我正在使用Mercurial.

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

Raf*_*olo 29

对于未经修改的更改,您可以使用Shelve扩展:

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

  • 我的hg版本(3.7.3)似乎没有使用`--all`标志.简单地称`hg shelve`就可以了. (3认同)

jrw*_*ren 11

我问过irc

mpm说

hg diff > mychanges; hg up -C somewhere; hg import --no-commit mychanges
Run Code Online (Sandbox Code Playgroud)

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

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
Run Code Online (Sandbox Code Playgroud)

所以我做到了

hg up -r <shared root rev>
hg up branchIwant
Run Code Online (Sandbox Code Playgroud)

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