English | 日本語
ホーム > Merge > Merge for Windows > ドキュメントの目次 > 自動ファイル マージ

自動ファイル マージ

Merge の Professional Edition では、変更した 2 つのファイルを共通の親ファイルへ自動マージすることができます。一般的にこの機能は、2 名の開発者が設定管理システムに格納されている共通のソース ファイルを別々に編集し、各ファイルの変更箇所を検証/マージする場合に使用します。

自動マージを開始する

自動マージは 3 者間ファイル比較でのみ機能します。共通の親ファイルを中央のファイル パネルに置き、その両側(左右)のパネルに編集した子ファイルを配置します。ファイル比較ウィンドウを起動するために 3 者間フォルダ比較ウィンドウを開いている場合、共通の親フォルダが必ず中央へ来るようにする必要があります。

共通の親(中央)ファイルまたはフォルダへの自動マージ ツールバー ボタン ボタンを使用して自動マージを開始します。

自動マージの処理

自動マージを開始すると、Merge は 3 つのファイルを先頭から終わりに向かって検証します。3 つのファイル間の変更がそれぞれ検証されて、最終的なマージ ファイルに変更箇所をそのまま保持するか、追加するかが判断されます。どのように処理すれば良いか Merge が判断できないタイプの変更箇所がある場合、ユーザーの注意を促すための不一致マークが付けられます。

マージ処理が完了すると、中央のファイル パネルには結果(マージした)ファイルが表示されます。マージ処理の結果に問題がなければ、このファイルを保存することになります。3 者間マージを実行しても、左右のファイルは変更されません。

2 つのファイル内の変更箇所から共通の親ファイルへのマージは、単純なルールに則って実行されます。2 つの変更ファイルは共通の親ファイルよりも新しいと考えられるので、両ファイルの変更箇所が重複しない限り、これらのファイルへの変更(行ブロックの挿入、削除、編集)は共通の親ファイルに適用されます。

自動マージの結果について

重複またはそれぞれの最初か最後が一致する変更箇所には、不一致マーカーが付けられます。このように自動マージができない各行の先頭に、赤い不一致アイコン Conflict iconが表示されます。ツールバーの 前の不一致マーカー ツールバー ボタン および 次の不一致マーカー ツールバー ボタン ボタンを使用するか、[編集]メニューの[マーカー]セクションのコマンドを使用して不一致間を移動することができます。

中には、不一致とならないタイプの重複変更もあります。変更した両方のファイルで変更箇所が同じ場合(たとえば同じ行が追加/削除/変更されていて、それぞれの内容も完全に同じ場合)これらの変更は共通の親ファイルにマージされます。Merge は、変更箇所をマージするかどうか判断する際に空白の有無も考慮します。したがって、両者の変更箇所がまったく同じに見えるのに不一致マーカーが付けられている場合、両方のファイルの空白や行終端が異なっていることが考えられます。

共通の親ファイルに対する変更箇所のマーク付け

共通の親に対する変更は、すべて編集マーカー Edit marker でフラグ付けされます。複数の行が共通の親を持つ場合、編集マーカーの隣に小さな矢印 Left edit marker Right edit marker が表示され、行がどちらからコピーされたかを示します。行が共通の親から削除された場合、行が削除された位置の次の行に削除マーカー Delete edit marker が表示されます。

各編集マーカーには関連付けられたツール ヒントがあり、編集の理由を知ることができます。マウス カーソルをマーカーの上に数秒間置いたままにすると、ツール ヒントが表示されます。不一致マーカーにもツール ヒントがあり、その不一致の理由を示します。

ツールバーまたは[編集]メニューの[マーカー]セクションにある[前の編集マーカー/次の編集マーカー] 前の編集マーカー ツールバー ボタン 次の編集マーカー ツールバー ボタンボタンを使用して、編集マーカー間の移動が行えます。

マージされた行の淡色表示

Merge が 2 つの変更されたファイルの各行を解析し共通の親ファイルにマージすると、これらの行は淡色表示になりマージされたことを示します。3 者間マージが完了すると、不一致変更のある行だけが元の色で表示されます。

Automatically merged files

不一致の解決

自動マージを実行したら、不一致マーカーが付けられている箇所の不一致を自身で解決する必要があります。また、共通の親ファイルに対する変更が有効かどうかも検証する必要があります。最終的に、マージした変更箇所のインデントを必要に応じて調整します。

自動マージのプレビュー

自動マージは一度実行すると元に戻すことができないので、結果がどうなるかを確認するためのプレビューを表示することができます。プレビューによって自動マージの結果に満足できない場合は、[編集]メニューの[元に戻す] 直前に行った操作を元に戻す ツールバー ボタン コマンドを使って自動マージの処理を元に戻すことができます。

自動マージのプレビュー機能により、比較しているファイル間の不一致部分を迅速に明らかにすることができます。

マーカーおよびテキスト淡色表示の解除

3 者間マージを実行したら、すべての編集/不一致マーカーを削除すると共に淡色表示になっているテキストを元に戻すことができます。ツール バーの[すべてのマーカーを消去] すべてのマーカー(ブックマーク、編集、不一致)を消去 ツールバー ボタン ボタンまたは[編集]メニューの[マーカー]セクションのコマンドを使用します。これを実行すると、設定したブックマークも解除されます。

ツール バーまたは[編集]メニューの[未解決箇所をマーク] 選択範囲内の行を未解決であるとマークする ツールバー ボタン ボタンを使用して、現在の選択または行にいつでも解決済みの印を付けることができます。 これを実行すると、選択範囲内の行の不一致マーカーが削除され、その結果淡色表示となります。範囲が選択されていない場合、操作は現在の行に適用されます。