単純な例を考えてみましょう:私はデフォルトのブランチで作業しており、ローカルでコミットされたチェンジセットをいくつか持っています。私は隔離されたローカルリポジトリで数日間働いていたので、結果をマスターに戻す前にマージするための変更がかなりあります。Mercurialで方向をマージしますか?
default ---o-o-o-o-o-o-o-o-o-o-o (pulled stuff)
\
o----o------------o (my stuff)
私は今、2つのことができます。
オプション#1:
hg pull
hg merge
結果#1:
default ---o-o-o-o-o-o-o-o-o-o-o
\ \
o----o------------o-O
オプション#2:
hg pull
hg update
hg merge
結果#2:
default ---o-o-o-o-o-o-o-o-o-o-o-O
\ /
o----o------------o
これらの2つの結果は私と同じですが、実際にはオプション2の方が小さなチェンジセットになっているようです(私の少数のメインラインの変更をすべて適用するのではなく、
私の質問は次のとおりですか?マージの方向性に気を付けるべきですか?私はこれをすればスペースを節約できますか? (マージ後にhg log --patch --rev tip
を実行すると、それが示唆されます)
[Hg-Git](http://hg-git.github.com/)を使用している場合、これは仮想Gitブランチの位置を追跡するため特に重要ですブックマークを使用して間違った方法でマージすれば、Gitブランチのブックマークは移動せず、プッシュする必要はありません。 –
195に200をマージすると、ブックマークを201に移動することが保証されません。もしあなたが 'hg update my-stuff; hg merge 200 'を実行しますが、' hg update 195; hg merge 200'はそうしません。ブックマーク名で更新すると*アクティブになります。 –