我的回购目前如下:
O 7: default
|
O 6: default
|
| O 5: default
| |
| O 4: default
| |
| O 3: default
| /
O 2: default
|
O 1: default
我想将6和7移到新分支,我该怎么办?
答案 0 :(得分:2)
您可以使用rebase extension。需要启用它,但该链接包含有关如何执行此操作的信息。
命令是:
hg update 2
hg branch newbranch
hg commit -m "Creating new branch"
hg rebase -s 6 -d 8
这将创建新分支,提交它(在您的示例中将创建修订版本8),然后将版本6及其后代移动到新分支上。显然,您需要查找存储库的实际修订号。
您也可以使用mq extension执行此操作,但我认为在此实例中更容易使用rebase。
答案 1 :(得分:2)
取决于您如何定义术语“分支”。如果你在谈论named branches,那么Steve Kaye的回答很好。
如果你在谈论像5& 6在图中的分支上,然后您不需要做任何事情。 6& 7已经在他们自己的分支上。你可以不管它们,然后回到修订版2继续在那里工作。
hg update 2
<continue work>
hg commit -m "New Stuff"
这将为您留下如下图:
o 8: default
|
| O 7: default
| |
| O 6: default
| |
| | O 5: default
| | |
| | O 4: default
| | |
| | O 3: default
\ | /
O 2: default
|
O 1: default
如果您想为每个提示指定一个名称,请查看bookmarks。
hg bookmark -r 8 stable
hg bookmark -r 7 experimental-stuff
hg bookmark -r 5 some-feature
...然后你可以按名称在它们之间进行更改。