0

私のリポジトリは現在次のとおりです。

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

6と7を新しいブランチに移動したいのですが、どうすればよいですか?

4

2 に答える 2

2

これにはリベース拡張機能を使用できます。有効にする必要がありますが、そのリンクにはその方法に関する情報があります。

コマンドは次のようになります。

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

これにより、新しいブランチが作成され、コミットされ(この例では、リビジョン8が作成されます)、リビジョン6とその子孫が新しいブランチに移動されます。明らかに、リポジトリの実際のリビジョン番号を調べる必要があります。

mq拡張機能を使用してそれを行うこともできますが、この場合はリベースの方が使いやすいと思います。

于 2013-01-04T15:49:20.303 に答える
2

「ブランチ」という用語の定義方法によって異なります。名前付きブランチについて話している場合、SteveKayeの答えは問題ありません。

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

これらのヒントのそれぞれに名前を付けたい場合は、ブックマークを見てください。

hg bookmark -r 8 stable
hg bookmark -r 7 experimental-stuff
hg bookmark -r 5 some-feature

...そして名前でそれらを変更することができます。

于 2013-01-04T17:42:13.480 に答える