1. ホーム
  2. version-control

[解決済み】3ウェイマージの方が2ウェイマージより有利なのはなぜですか?

2022-04-09 08:05:24

質問

ウィキペディア によると、3 者間マージは 2 者間マージよりもエラーの可能性が低く、多くの場合、ユーザーの介入を必要としないとのことです。なぜこのようなことが起こるのでしょうか?

3 者間マージが成功し、2 者間マージが失敗する例があると助かります。

どのように解決するのですか?

あなたとあなたの友人の両方があるファイルをチェックアウトし、それにいくつかの変更を加えたとします。あなたは冒頭の1行を削除し、友人は末尾に1行を追加しました。そして彼は自分のファイルをコミットし、あなたは彼の変更を自分のコピーにマージする必要があります。

もし、双方向のマージ(言い換えれば、差分)を行うのであれば、ツールは2つのファイルを比較し、最初の行と最後の行が異なっていることを確認することができます。しかし、その差分をどう処理するかはどうやって判断するのでしょうか。マージされたバージョンには最初の行を含めるべきなのでしょうか?最終行を含めるべきなのでしょうか?

3 者間マージの場合、2 つのファイルを比較することができますが、それぞれのファイルを元のコピー(どちらかが変更する前のもの)と比較することも可能です。つまり、あなたが最初の行を削除し、あなたの友人が最後の行を追加したことがわかります。そして、その情報を使ってマージされたバージョンを作成することができます。