メインコンテンツ

ファイルやフォルダーの比較とファイルのマージ

比較ツールを使用して、選択したファイルまたはフォルダーのペア間の相違点を表示します。

次のいずれかの方法で、比較するディスク上のファイルやフォルダーを選択できます。

  • MATLAB® エディター — MATLAB エディターまたはライブ エディターでファイルを開きます。[エディター] タブまたは [ライブ エディター] タブで、[比較][比較対象] を選択します。次に、比較する対象のファイルを選択します。

    ファイルを自動保存バージョンまたはディスク上に保存されたバージョンと比較することもできます。[エディター] タブで、[比較][ディスク上のバージョンと比較] または [バックアップと比較] を選択します。ファイルを変更した場合、エディターはファイルを保存してから比較します。[ディスク上のバージョンと比較] オプションと [バックアップと比較] オプションは、変更をファイルに自動的に保存するオプションが無効になっている場合にのみ使用できます。このオプションを無効にするには、[ホーム] タブに移動し、[環境] セクションで [設定] をクリックします。次に、[エディター/デバッガー][保存] を選択し、[ファイル以外の場所をクリックしたときに変更を保存] をオフにします。このオプションは、ライブ エディターでは使用できません。

  • [ファイル] パネルまたは [プロジェクト] パネル — ディスク上の 2 つのファイルを比較するには、両方のファイルを選択します。次に、右クリックして [選択したファイル/フォルダーを比較] を選択します。比較ツールで両方のファイルが開きます。先に選択したファイルが左になります。

    あるいは、ファイルを右クリックして [比較対象] を選択します。次に、比較する対象のファイルを選択します。

  • コマンド ウィンドウ — 関数 visdiff を使用します。

ソース管理下にあるファイルの場合、次のいずれかの方法で、比較ツールを開いてリビジョン間の相違点を確認できます。

  • [ファイル] パネルまたは [プロジェクト] パネル — ファイルをその先祖と比較するには、ファイルを右クリックして [ソース管理][変更を表示] を選択します。ファイルを別のリビジョンと比較するには、モデル ファイルを右クリックして [リビジョンの表示] を選択します。[ログ] ダイアログ ボックスで、リビジョンを選択して [ローカルと比較] をクリックします。

  • [ソース管理] パネル — ファイルをその先祖と比較するには、[変更済みファイル] セクションで、ファイルを右クリックして [変更を表示] を選択します。ファイルを別のリビジョンと比較するには、ファイルを右クリックして [リビジョンの表示] を選択します。[ログ] ダイアログ ボックスで、リビジョンを選択して [ローカルと比較] をクリックします。

  • ブランチ マネージャー — 2 つの Git™ リビジョン間でファイル内の変更を検証するには、ブランチ マネージャーを開きます。右クリックして [ソース管理][ブランチ マネージャー] を選択します。[差分のコミット] ペインで、ファイルを右クリックして [差分の表示] を選択します。

    Branch Manager with two selected commits in the commit graph and Show Differences context menu option in the right pane

比較ツールでは、選択した項目が既定の比較タイプを使用して比較されます。別の比較タイプを指定するには、visdiff を使用します。たとえば、比較タイプを "text" から "binary" に変更すると、テキスト ファイルの行末の文字などの差異を調べることができます。

比較するフォルダーを選択する場合、既定では、比較ツールによる比較にすべてのサブフォルダーの内容が再帰的に含まれます。選択したフォルダーと第 1 レベルのサブフォルダーのみを比較レポートに含めるには、MATLAB で次のコマンドを入力します。

s=settings();
s.comparisons.folder.IncludeSubfolders.TemporaryValue=false;

フォルダーと zip ファイルの比較

比較ツールを使用すると、フォルダーと zip ファイルを任意に組み合わせて比較できます。たとえば、フォルダーの内容を zip ファイルの内容と比較できます。比較ツールは、選択した項目のファイル リスト比較を実行します。

ヒント

R2025a 以降では、フォルダーを比較する際、それらがプロジェクトのルート フォルダーであるかどうかが MATLAB によって検出されます。プロジェクト定義ファイルの比較レポートが比較ツールで開きます。詳細については、Compare MATLAB Projectsを参照してください。

フォルダーの比較レポートを作成すると、以下を実行できます。

  • 共通ファイルの特定。

  • 同一名のファイルまたはフォルダーの内容が同じであるかどうかの確認。このようなファイルまたはフォルダーが存在する場合は、項目の詳細な比較レポートを、レポートから直接開くことができます。

ファイル リスト比較を実行すると、新しいウィンドウが開き、指定したリストの内容が並べて表示されます。たとえば、いくつかの相違点がある 2 つのフォルダー curvefittingcurvefitting2 があるとします。この 2 つのフォルダーを比較すると、比較ツールに結果のレポートが表示されます。

Folder comparison results for the curvefitting and curvefitting2 folders

比較ツールでは、一致していないファイルやサブフォルダーが、以下の表に挙げる色を使用して強調表示されます。

強調色説明
ファイルまたはフォルダーの内容が異なります。[比較] リンクをクリックして調べます。
右側のリストにのみファイルまたはフォルダーがあります。
左側のリストにのみファイルまたはフォルダーがあります。
なしファイルまたはフォルダーは同一です。

次のいくつかの方法を使用して、結果をさらに詳しく調べることができます。

  • 結果を名前、タイプ、サイズ、または最終更新タイムスタンプによって並べ替えるには、対応する列ヘッダーをクリックします。たとえば、フォルダーやファイルの種類によって並べ替えるには、列ヘッダー [タイプ] をクリックします。

  • 内容が異なっている項目の詳細な比較レポートを開くには、項目の横にある [比較] リンクをクリックします。

  • ファイルをエディターで開くには、ファイル名の横の [開く] リンクをクリックします。ファイルが両方のフォルダーにある場合は、リンクをクリックして [左] または [右] のバージョンのファイルを開くことができます。

  • サブフォルダーが大容量で多数のファイルが含まれている場合は、バックグラウンドで分析が続行します。ツールでは、まだ比較していない項目の数がレポートの最上部に表示されます。[現在の項目をスキップ] をクリックして現在の項目をスキップするか、[すべてキャンセル] クリックして以降の解析を中止することができます。

    Section of the comparison report showing the number of items that still need to be compared, a Skip Current hyperlink, and a Cancel All hyperlink

  • 比較するサブフォルダーの数が多い場合は特に、相違点の確認にかかる時間を短縮するためにレポートをフィルター処理することができます。フィルターを適用するには、[ビュー] タブで [フィルター][filterName] を選択します。

    新しいフィルターを作成するには、[ビュー] タブで、[フィルター][フィルターの追加/削除] を選択します。バックアップ ファイルや、改訂管理システムで作成したファイルなど、特定のファイルとフォルダーを無視するフィルターを指定できます。たとえば、CVS という名前のフォルダー内のファイルとフォルダーをすべて無視するには、CVS/ と入力します。CVS という名前のフォルダー内のファイルをすべて無視し、サブフォルダーは無視しないようにするには、CVS/* と入力します。

    既存のフィルターを編集するには、フィルターをダブルクリックします。

次の方法を使用して、比較レポートをさらに詳しく構成して調べることができます。

  • [左右交換] ボタン — 左側のファイルまたはフォルダーを右側のファイルまたはフォルダーと入れ替えます。

  • 更新 ボタン — エディターでファイルの変更と保存を行った後に、比較ツールで結果をリフレッシュします。

  • [検索] ボタン — 現在の表示内でフレーズを検索します。詳細については、コマンド ウィンドウまたは コマンド履歴でのテキスト検索を参照してください。

テキスト ファイルの比較

比較ツールを使用して、2 つのテキスト ファイルの行を比較およびマージすることができます。テキスト比較を実行すると、新しいウィンドウが開き、2 つのファイルが並べて表示されます。

ファイルの比較

ユーザーが lengthofline.m にいくつか変更を加え、結果のファイルを lengthofline2.m という名前で保存しました。

visdiff を使用して、lengthofline.m ファイルと lengthofline2.m ファイルを比較します。

visdiff("lengthofline.m","lengthofline2.m")

比較ツールに結果のレポートが表示されます。

Comparison results for the files lengthofline.m and lengthofline2.m

比較結果について

比較ツールでは、相違点の総数が比較レポートの右下隅に表示され、変更のあった行が、以下の表に挙げる色を使用して強調表示されます。

ファイルが同一であるか、改行のみが異なる場合、相違点がないことを報告するメッセージが表示されます。

既定の強調色説明
行に相違点が含まれています。
濃い紫四角で囲まれたテキストが異なります。
右側のファイルにのみ行があります。これは、右側のファイルに行が挿入されたとき、または左側のファイルから行が削除されたときに発生することがあります。左側のファイルの対応する行は、グレーの縞模様を使用して強調表示されます。
左側のファイルにのみ行があります。これは、左側のファイルに行が挿入されたとき、または右側のファイルから行が削除されたときに発生することがあります。右側のファイルの対応する行は、グレーの縞模様を使用して強調表示されます。

比較ツールは行を照合して、追加、削除、または変更されているテキストを検出するよう試みます。たとえば、lengthofline.mlengthofline2.m のテキスト比較において、ツールは、lengthofline2.m には lengthofline.m にないコード行があると判定して青色で強調表示 (22 行目) しています。また、比較ツールは追加の行を考慮に入れ、end ステートメントが両方のファイルの同じ行番号にない場合でも、end ステートメントを含む行は各ファイルで一致すると判断します。

  • ファイルの詳細を表示するには、ファイル名の横にある矢印 をクリックして展開します。

    R2025a において: ソース管理下にあるファイルの場合、タグやブランチなどのソース管理の情報がファイルの詳細に含まれます。

  • 結果の相違点を一度に 1 つずつ順番に表示するには、[次へ] ボタンと [前へ] ボタンを使用します。

  • 機能的な変更とインデントの変更を区別しやすくするために、空白の相違点を非表示にすることができます。空白文字のみの関わる相違点を非表示にするには、[フィルター] をクリックし、[空白を無視] を選択します。

  • 比較レポートのコピーを保存するには、[パブリッシュ][HTML にパブリッシュ][Word にパブリッシュ]、または [PDF にパブリッシュ] を選択します。

次の方法を使用して、比較レポートをさらに詳しく構成して調べることができます。

  • [左右交換] ボタン — 左側のファイルまたはフォルダーを右側のファイルまたはフォルダーと入れ替えます。

  • 更新 ボタン — エディターでファイルの変更と保存を行った後に、比較ツールで結果をリフレッシュします。

  • [検索] ボタン — 現在の表示内でフレーズを検索します。詳細については、コマンド ウィンドウまたは コマンド履歴でのテキスト検索を参照してください。

テキスト ファイルのマージ

テキスト ファイルを比較するときに、1 つのファイルの変更を他のファイルにマージできます。相違点のマージは、異なるファイルのバージョン間の不一致を解決する際に便利です。変更のマージに際しては、左から右へのマージのみを実行できます。左側のファイルにマージする場合は、マージを開始する前に [左右交換] をクリックします。左右を入れ替えると、既に実行されているマージは元に戻され、元のファイルから新しい比較レポートが作成されます。

マージを開始するには、比較ツールのツールストリップで [マージ モード] をクリックします。次に、右側のペインの内容を左側のペインの内容で置き換えるには、マージする行の横にある [内容の置換] ボタン Replace Content ボタンをクリックします。あるいは、相違点を選択し、比較ツールのツールストリップで [内容の置換] をクリックします。

右側のペインにはマージした結果が表示されます。右側のペインにある、マージされたファイル名の横に付いているアスタリスク (lengthofline2.m *) は、ファイルに未保存の変更が含まれていることを示しています。

置換を元に戻すには、変更した行の間、もしくはツールストリップにある [元に戻す] ボタン をクリックします。すべてのマージを元に戻してやり直すには、比較ツールのツールストリップで [更新] をクリックします。[更新] を使用すると、ファイルを変更して保存した後に、比較レポートも更新できます。リフレッシュすると、未保存のマージした変更はすべて破棄されます。

変更を保存して比較レポートに戻るには、ツールストリップで [結果を保存] ボタンをクリックします。変更を保存せずに比較レポートに戻るには、[比較に戻る] をクリックします。

Comparison Tool in merge mode for the files lengthofline.m and lengthofline2.m

バイナリ ファイルの比較

比較ツールを使用して、DLL ファイルや MEX ファイルなど、2 つのバイナリ ファイルを比較できます。選択した任意の 2 つのファイルについて、既定の比較の代わりにバイナリ比較を行うこともできます。

バイナリ比較を使用して任意の 2 つのファイルを比較するには、[比較タイプ] メニューで [バイナリ比較] を選択します。バイナリ比較を実行すると、新しいウィンドウが開き、2 つのファイルが同一であるか異なっているかが示されます。ファイルが異なっている場合は、[詳細を表示] リンクをクリックすると、バイナリ ファイルおよび最初の相違のバイト オフセットが表示されます。

その他のファイル タイプの比較

比較ツールを使用してその他のファイル タイプを比較できます。

  • ライブ コード — 2 つのライブ コード ファイルのコードおよびテキストの比較とマージを行います。詳細については、ライブ スクリプトおよび関数の比較とマージを参照してください。

  • アプリ — 2 つのアプリのコードの比較とマージを行います。詳細については、アプリの比較とマージを参照してください。

  • MAT ファイル — 2 つの MAT ファイルの変数の比較とマージを行います。詳細については、MAT ファイルの比較とマージを参照してください。

  • Simulink® モデル — Simulink がある場合、Simulink モデルを比較しマージすることができます。詳細については、モデルの比較 (Simulink)を参照してください。

  • MLDATX テスト ファイル — MLDATX テスト ファイル内の Simulink Test™ テスト ケースを比較およびマージします。詳細については、Compare and Merge Test Files (Simulink Test)を参照してください。

比較の設定

比較ツールで使用される色を比較の設定でカスタマイズできます。比較の設定を変更するには、[ホーム] タブの [環境] セクションで [設定] をクリックします。次に、[MATLAB][比較] を選択します。

色の設定は、すべての比較タイプとマージ タイプに適用されます。色を変更すると、開いているすべての比較レポートとマージ レポートに更新後の色が反映されます。選択内容は以降のセッション用に MATLAB で記憶されます。デスクトップ テーマに従って一連の色を定義できます。既定の色に戻すには、[既定の色に戻す] をクリックします。

次の表は、比較レポートとマージ レポートで使用される色をまとめたものです。

レポート項目の色説明
変更済み/Theirs比較レポートにおいて、この色は変更された行または項目に関連付けられます。
3-way マージ レポートにおいて、この色は [Theirs] のリビジョンで加えられた変更に関連付けられます。
削除済み/Base比較レポートにおいて、この色は削除された行または項目に関連付けられます。
2-way マージ レポートにおいて、この色は [Left] のリビジョンで加えられた変更に関連付けられます。
3-way マージ レポートにおいて、この色は [Base] のリビジョンに存在する変更に関連付けられます。
挿入済み/Mine比較レポートにおいて、この色は追加された行または項目に関連付けられます。
2-way マージ レポートにおいて、この色は [Right] のリビジョンで加えられた変更に関連付けられます。
3-way マージ レポートにおいて、この色は [Mine] のリビジョンで加えられた変更に関連付けられます。
ターゲット2-way マージ レポートと 3-way マージ レポートにおいて、この色は [ターゲット] ペインで加えられた変更に関連付けられます。
競合3-way マージ レポートにおいて、この色は競合がある行に関連付けられます。
変更済み/Theirs マージン比較レポートにおいて、この色は変更された行または項目のマージンに関連付けられます。
3-way マージ レポートにおいて、この色は [Theirs] のリビジョンで加えられた変更のマージンに関連付けられます。
削除済み/Base マージン比較レポートにおいて、この色は削除された行または項目のマージンに関連付けられます。
2-way マージ レポートにおいて、この色は [Left] のリビジョンで加えられた変更のマージンに関連付けられます。
3-way マージ レポートにおいて、この色は [Base] のリビジョンに存在する変更のマージンに関連付けられます。
挿入済み/Mine マージン比較レポートにおいて、この色は追加された行または項目のマージンに関連付けられます。
2-way マージ レポートにおいて、この色は [Right] のリビジョンで加えられた変更のマージンに関連付けられます。
3-way マージ レポートにおいて、この色は [Mine] のリビジョンで加えられた変更のマージンに関連付けられます。
ターゲット マージン2-way マージ レポートと 3-way マージ レポートにおいて、この色は [ターゲット] ペインで加えられた変更のマージンに関連付けられます。
競合マージン3-way マージ レポートにおいて、この色は競合がある行のマージンに関連付けられます。
インライン変更比較レポートにおいて、この色はインライン変更に関連付けられます。

メモ

レポートのノードのマージンに複数の色が表示されることがあります。たとえば、ノードに青と紫の両方の色が付いている場合、このノードの詳細な比較に、追加された項目と変更された項目の両方があることを示しています。詳細ペインを開くには、そのノードを選択します。

次の図は、左右に並べて比較する例を示したものです。右側の親ノード MATLAB Function のマージンが濃い紫と濃い青の両方で色付けされ、その下の詳細な [スクリプト] の比較に変更された項目と追加された項目の両方があることを示しています。詳細な [スクリプト] の比較では、変更された行と項目が薄い紫で示され、対応するマージンが濃い紫で色付けされています。追加された行は薄い青で示され、対応するマージンが濃い青で色付けされています。削除された行は薄いオレンジで示され、対応するマージンが茶色で色付けされています。

比較ツールとマージ ツールで使用される用語の詳細については、比較レポートの用語 (Simulink)およびTerminology in Three-Way Merge Report (Simulink)を参照してください。

参考

トピック

外部の Web サイト