3 方向比較は、3 つの異なるリソースのバージョンの違いを示します。 このフィーチャーは、リソースをマージする場合、または同期化中に競合がある場合に最も役立ちます。 競合は、2 人の開発者が自分のワークベンチに同じブランチから 1 つのバージョンを追加し、 次にそれぞれの開発者がそれを変更し、さらに 1 人の開発者が、すでに他の開発者がコミットした後でコミットを試みる場合に発生します。
この状況が発生した場合、リソースの 3 つのバージョン (ワークベンチ内のリソース、 ブランチ内でコミットされたリソースのバージョン、および 2 つの競合するバージョンの基となる共通の祖先 )の違いを 表示することができます。 たとえば、同じ名前とパスを持つリソースが作成され、2 人の異なる開発者によってコミットされたため、 共通の祖先が判別できない場合には、その比較は両方向比較になります。
同期ビューにより、2 つまたは 3 つのファイルの違いを表示することができます。 共通の祖先が存在すれば、同期ビューは 3 方向比較を行います。 2 つの競合するリソースのバージョンの共通の祖先は、おそらく決定することはできません (たとえば、2 人の開発者が同じ名前とパスを持つリソースを作成し、コミットした場合)。 この場合、比較は標準の両方向比較になります。
3 方向比較では、ワークベンチには以下が表示されます。
下の図では、共通の祖先は、テキスト比較ペインの上部ペインに表示されています。 違いが強調表示されていますが、これは、共通の祖先と比較してワークベンチで変更された部分と、共通の祖先と比較したブランチ・リソースで変更された部分です。 3 つのファイルすべてにおいて異なっているセクションは、違いとして強調表示されています。 競合は赤色で示され、着信変更は青色で示され、発信変更は灰色で示されています。
リソースの比較
リポジトリーとの同期化
比較エディターの変更内容をマージする
競合の解決
ファイル比較の設定値を設定する
リソースとリポジトリー・バージョンの比較