2013-01-04 37 views
0

我的回購是目前如下:將一些提交到一個新的分支中汞

O 7: default 
| 
O 6: default 
| 
| O 5: default 
| | 
| O 4: default 
| | 
| O 3: default 
|/
O 2: default 
| 
O 1: default 

我想移動6和7,一個新的分支,我該怎麼辦呢?

回答

2

您可以使用。它需要啓用,但該鏈接有關於如何做的信息。

的命令是:

hg update 2 
hg branch newbranch 
hg commit -m "Creating new branch" 
hg rebase -s 6 -d 8 

這將創建新的分支,它承諾(這將創建在你的榜樣修訂8),然後移動版本6和它的後代到新的分支。顯然,你需要查找你的版本庫的實際版本號。

你也可以用mq extension做到這一點,但我認爲在這種情況下rebase更容易使用。

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 

...然後您可以通過名稱在它們之間進行更改。

相關問題