Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

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

比較ツールを使用して、選択した 2 つのファイルまたはフォルダー間の相違点を表示できます。一部のファイル タイプでは、一方のファイルの変更を他方にマージできます。

比較プロセス

比較プロセスには 3 つの手順があります。

  1. 比較するファイルまたはフォルダーを選択します。

  2. 比較タイプを選択します。

  3. 比較レポートを調べます。

比較するファイルやフォルダーを選択する

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

  • MATLAB® デスクトップ — [ホーム] タブに移動し、[ファイル] セクションで [比較] をクリックします。open folder ボタンをクリックして比較する項目を選択するか、ファイル ブラウザーから [最初のファイルまたはフォルダー] フィールドまたは [2 番目のファイルまたはフォルダー] フィールドへとファイルをドラッグ アンド ドロップします。

  • 現在のフォルダー ブラウザー — ファイルまたはフォルダーを選択し、右クリックして [比較対象を指定] を選択します。open folder ボタンをクリックして比較する 2 番目の項目を選択するか、ファイル ブラウザーから [2 番目のファイルまたはフォルダー] フィールドへとファイルをドラッグ アンド ドロップします。比較するファイルまたはサブフォルダーを 2 つ選択するには、Ctrl キーを押しながらファイル名をクリックします。次に、右クリックして [選択したファイル/フォルダーを比較] を選択します。

  • エディターまたはライブ エディター — [エディター] タブまたは [ライブ エディター] タブに移動し、[ファイル] セクションで [比較] をクリックします。比較ツールの [最初のファイルまたはフォルダー] フィールドに、現在開いているファイルが含まれています。open folder ボタンをクリックして比較する 2 番目の項目を選択するか、ファイル ブラウザーから [2 番目のファイルまたはフォルダー] フィールドへとファイルをドラッグ アンド ドロップします。

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

  • コマンド ウィンドウ — 関数 visdiff を使用します。たとえば、2 つのファイル lengthofline.mlengthofline2.m を関数 visdiff と既定のテキスト比較を使用して比較するには、visdiff('lengthofline.m', 'lengthofline2.m') と入力します。MATLAB によって比較ツールが開かれ、結果の比較レポートが表示されます。

ヒント

比較するフォルダーを選択するときは、[サブフォルダーを含む] を選択して、サブフォルダーの内容を比較に含めます。

比較タイプの選択

比較ツールでは、選択した項目は、その選択した項目に定義された既定の比較タイプを使用して比較されます。一部の項目タイプでは、既定と異なる比較タイプを選択できます。たとえば、テキスト比較、バイナリ比較、ファイル リスト比較、または XML 比較を選択できます。比較タイプを変更するには、比較するファイルまたはフォルダーを選択します。次に、使用可能な [比較タイプ] オプションから選択します。比較ツールでは、選択した項目タイプに対して有効なオプションのみが表示されます。

既存の比較レポートの比較タイプは変更できません。比較タイプを変更するには、新規比較を開始してください。

現在のフォルダー ブラウザーまたは関数 visdiff のいずれかを使用して、比較するファイルまたはフォルダーを 2 つ指定する場合、比較ツールは自動的に既定の比較タイプを実行します。たとえば、現在のフォルダー ブラウザーから、比較する XML ファイルを 2 つ選択する場合、ツールは既定のテキスト比較を使用します。代わりに、比較タイプを階層比較に変更するには、比較ツールを使用して新しい比較を作成します。

比較レポートの詳細

比較タイプを選択後、[比較] ボタンをクリックします。比較レポートが開きます。比較する項目に応じて、さまざまな方法で比較レポートを調べることができます。詳細については、以下の各比較タイプに関する説明を参照してください。

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

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

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

  • 共通ファイルの特定。

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

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

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

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

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

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

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

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

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

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

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

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

比較レポートをさらに詳しく構成する方法の詳細については、追加の比較ツールを参照してください。

テキスト ファイルの比較

比較ツールを使用して、2 つのテキスト ファイルの行を比較およびマージすることができます。テキスト比較を実行すると、新しいウィンドウが開き、2 つのファイルが並べて表示されます。2 つのファイル間の記号は、ファイルを一致させるための調整方法を示しています。たとえば、次のコードを実行すると、サンプル ファイル lengthofline.mlengthofline2.m のテキスト比較が表示されます。

file1 = fullfile(matlabroot,'help','techdoc','matlab_env',...
'examples','lengthofline.m')
file2 = fullfile(matlabroot,'help',...
'techdoc','matlab_env','examples','lengthofline2.m')
visdiff(file1,file2)
比較ツールに結果のレポートが表示されます。

比較ツールでは、相違点の総数が比較レポートの最上部に表示され、変更のあった行が、次の表に挙げる色で強調表示されます。

強調色説明
行に相違点が含まれています。比較ツールでは、2 つのファイル間の列に [x] が表示されます。
濃い紫強調表示された文字が異なります。
右側のファイルにのみ行があります。比較ツールでは、2 つのファイル間の列に [>] が表示されます。
左側のファイルにのみ行があります。比較ツールでは、2 つのファイル間の列に [<] が表示されます。

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

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

  • 相違点の概要の表示 — 各ファイル内の一致した行の数や不一致の行の数など、2 つのテキスト ファイル間の相違点の概要を表示するには、比較レポートの下部までスクロールします。

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

  • 差分のみを表示 — 相違点のみを表示するかファイル全体を表示するかを指定するには、[ビュー] タブに移動して [フィルター] ボタンをクリックし、[差分のみを表示] をオンまたはオフにします。相違点のみの表示は、テキスト比較レポートのサイズが大きいときに特に役立ちます。相違点のみを表示しているために非表示の行がある場合は、レポートに非表示の行数を示すメッセージが表示されます。たとえば、10 行が非表示である場合、レポートには 10 unmodified lines hidden と表示されます。

  • 表示幅の変更 — 比較表示でのテキスト ファイルの行の長さを増減するには、[ビュー] タブに移動し、[表示] セクションで [列幅] を変更します。必要に応じて、ウィンドウ サイズを変更します。

  • HTML レポートの保存 — 比較レポートのコピーを HTML ファイルとして保存するには、[比較] タブに移動し、[比較] セクションで [名前を付けて保存][HTML] をクリックします。

比較レポートをさらに詳しく構成する方法の詳細については、追加の比較ツールを参照してください。

結果の相違点を一度に 1 つずつ表示するには、 ボタンと ボタンを使用します。最後の相違点に到達したら、 ボタンをクリックするとファイルの最初の相違点にループバックします。同様に、最初の相違点を選択して をクリックすると、比較ツールによってファイルの最後の相違点にループで移動します。

比較するファイルが極めて長い場合は、比較ツールがファイルの比較を実行しようとする間に、メモリ不足となる可能性があります。その場合には、次のメッセージが表示されます。

「最大のファイル長を超えました。 
行単位の比較を既定の設定にします。」
この場合、比較ツールは 1 行ごとの比較に切り替わります。たとえば、lengthofline.m ファイルと lengthofline2.m ファイルの 1 行ごとの比較では、この処理中に一方のファイルの最終行がもう一方のファイルの最終行と一致しないことが検出されるため、end ステートメントを含んだ行が強調表示されます。

既定では、XML ファイルはテキスト比較を使用して比較されます。代わりに階層比較を使って XML ファイルを比較するには、XML ファイルの比較を参照してください。

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

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

左側のファイルから右側のファイルに変更をマージするには、レポートで相違点を選択し、[比較] タブで [マージ] ボタンをクリックします。比較ツールには、マージされた行がグレーで強調表示され、緑のマージ矢印が表示されます。

レポート上部にあるマージされたファイルの名前には、ファイルに未保存の変更があることが示されます (filename.m*)。

最後のマージ操作を元に戻すには、[比較] タブで、[元に戻す] をクリックします。マージを再度適用するには、[やり直し] をクリックします。すべてのマージを元に戻してやり直すには、[更新] をクリックします。

変更を保存するには、[マージしたファイルを保存] をクリックします。別の名前で保存するには、[マージしたファイルを保存][マージしたファイルに名前を付けて保存] を選択します。

エディターでファイルを表示するには、レポートの行番号リンクをクリックします。エディターで変更を行う前に、比較レポートからマージの変更を保存してください。これを行わない場合、比較レポートは不正確になることがあります。レポートは、エディターで行った変更を反映するようには更新されません。

バイナリ ファイルの比較

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

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

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

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

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

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

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

  • XML ファイル — テキスト比較または階層的な XML 比較を使用して 2 つの XML ファイルを比較します。詳細については、XML ファイルの比較を参照してください。

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

追加の比較ツール

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

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

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

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

比較の基本設定

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

色の基本設定

比較ツールで、変更した行の強調表示に使用される色を変更できます。色の基本設定は、すべての比較タイプに適用されます。

色の基本設定を変更するには、比較の基本設定の [色] セクションで、相違点、変更された行、変更された内容、およびマージされた行について、色を変更します。[サンプル] の領域には選択された色のプレビューが表示されます。比較の色を変更した後、更新された色を表示させるには、開いている比較レポートをすべて更新しなければなりません。

変更した色の基本設定を以降の MATLAB セッション用に保存するには、[名前を付けて保存] をクリックして、色設定プロファイルの名前を入力します。カラー プロファイルを保存した後は、そのプロファイルを [アクティブな設定] リストで選択できます。既定のカラー プロファイルに戻すには、[リセット] をクリックします。

外部ソース管理統合の基本設定

比較ツールを使用して、外部のソース管理ツールでファイルとフォルダーの比較やマージができます。開いている MATLAB セッションの再利用を外部ソース管理ツールで可能にするには、比較の基本設定の [外部ソース管理統合] セクションで [比較とマージのために、開いている MATLAB セッションの、外部ソース管理ツールによる使用を許可する] オプションを選択します。MATLAB の比較ツールを使用するようソース管理ツールを設定すると、比較ツールによりこのオプションを選択するよう指示されます。

詳細については、MATLAB を比較とマージに使用するための外部ソース管理のカスタマイズ (Simulink)を参照してください。

トラブルシューティング

大きいファイルの比較で java.lang.OutOfMemoryError: Java heap spacejava.lang.OutOfMemoryError: GC Overhead limit exceeded などのエラーが発生する場合は、MATLAB の基本設定を編集してヒープ サイズを増やします。

  1. [ホーム] タブの [環境] セクションで [基本設定] をクリックします。

  2. [MATLAB][一般][Java ヒープ メモリ] を選択します。

  3. スライダーを動かしてヒープ サイズを増やし、[OK] をクリックします。

  4. MATLAB を再起動します。

参考

関連するトピック