2

ローカルブランチを作成したリモート(追跡)ブランチがたくさんあります(したがって、書き込み、コミット、プッシュできます)。オリジン/マイフィーチャーここで、 origin/myfeaturemasterにマージしたいと思います。

私はできる(私が現在マスターにいると仮定して):

git merge origin/myfeature

しかし、これはマージを実行する前に最新の変更をプルする (または中心的な「真実」にあるものと同一である) ことが保証されていますか?

私が理解しているように、ロケールのリモート追跡ブランチは必ずしもブランチの最新のリモート変更を指しているわけではありません。

4

1 に答える 1

1

fetchオリジンのスナップショットを取得します。次にmerge、そのスナップショット。確かに、オリジンでは、さらに多くのものを得ることができます。

その競合が心配な場合は、変更をプッシュする前に別のフェッチを実行して、移動したかどうかを確認できます。ただし、プッシュする前またはプッシュ中に、誰かが別のコミットを追加する可能性があります。

しかし、それについて興奮しすぎる前に、レースに勝ったとしましょう。しかし、マージの直後に誰かがパッチを追加しました。それは実際的な方法で異なりますか?

DVCS では、追加が行われるのは普通のことです。追加が行われた場合は、別のマージを行って新しいものを取得します。そして、レースはそれほど面白くありません。

于 2013-06-25T13:25:23.303 に答える