将本地提交重新分配给Mercurial中的其他分支

时间:2012-08-16 07:37:31

标签: mercurial

我在我的回购中使用了hg书签,因为它们让我可以轻松地使用不同的功能。 Mercurial的事情是,仍然,所有提交都与分支相关联。所以,我所做的是我有很多本地更改,有很多拉(但没有更新)到同一个分支。换句话说,我的本地仓库看起来像这样:

default     -------E-F---------
newf        -A-C-D---------J---
newf,bmark  --\--------H-I----K

newf是一个远程分支,上拉到J,bmark是我创建的书签。标有newf的{​​{1}}中的所有内容都严格属于我的计算机。

现在,我想重新分配H,I和K(实际上,有大约20个更改)到另一个分支,我可以推送到回购。有没有办法在Mercurial中执行此操作,以便我的工作副本(我仍然有一些未提交的更改)仍然不受影响?

基于使用'rebase'的建议,我尝试了以下步骤:

bmark

除了得到关于阶段的一些错误之外,rebase给了我一些我不希望的东西:

hg up -r A
hg branch newbranch && hg ci -m "will hold some development"
# This effectively made a commit X
hg up bmark
hg rebase -d newbranch

即,列出default -------E-F--------- newf -A-C-D---------J--- newf,bmark \ -----H-I----K newbranch \X/ HI仍属于Knewf,并且它们在提交时位于顶部{ {1}}属于分支bmark。我在这里做错了吗?

1 个答案:

答案 0 :(得分:1)

我使用rebase将提交从一个分支移动到另一个分支。它适用于您的情况吗?