8

gits no-fast-forward merge(早送りが可能な場合)に相当する水銀は何ですか?

編集

マスター/デフォルトの頭/先端にブランチ/ブックマークがあると仮定します。

 o feature
 |
 o
 |
 o master/default
 |
 ...

単純な早送りマージの結果は次のようになります。

 o feature/master/default
 |
 o
 |
 o
 |
 ...

早送りしないマージは次のようになります。

 o merge commit - feature/master/default
 | \
 |  o     
 |  |
 |  o
 | /
 o
 |
 ...
4

1 に答える 1

8

機能ブランチをどのようにコミットしたかによって異なります。

機能が名前付きブランチで開発された場合、早送りマージを行わない場合と同等の結果が得られます。実際、名前付きブランチは他の方法ではマージできません。

hg update default
hg branch feature-1
...work...
hg commit -m "implemented feature on named branch"
hg update default
hg merge feature-1
hg commit -m "merged feature-1 to default"

これにより、次のようなグラフが得られます。

o   merged feature-1 to default
|\
| o feature-1: implemented feature on named branch
|/
o
|

これは、名前付きブランチ (つまり、hg branchコマンドを使用して作成されたブランチ) でのみ機能します。匿名のブランチやブックマークでは機能しません。

この問題について議論している Mercurial メーリング リストのこのスレッド (リンク切れ)にも興味があるかもしれません。

于 2013-03-15T12:52:32.603 に答える