ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

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

ファイルやフォルダーの比較

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

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

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

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

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

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

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

  • 現在のフォルダー ブラウザー — ファイルまたはフォルダーを選択し、右クリックして [比較対象を指定] を選択します。比較する 2 番目の項目を参照して選択するか、ファイルまたはフォルダーをファイル ブラウザーからドラッグ アンド ドロップします。

    2 つのファイルまたはサブフォルダを選択し、右クリックして [選択したファイル/フォルダーを比較] を選択することもできます。

  • エディターまたはライブ エディター[エディター] タブまたは [ライブ エディター] タブに移動し、[ファイル] セクションで [比較] をクリックします。比較ツールによって、比較対象の最初のファイルとして、現在開いているファイルが自動的に設定されます。比較する 2 番目の項目を参照して選択するか、ファイルまたはフォルダーをファイル ブラウザーからドラッグ アンド ドロップします。

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

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

2 つのファイルとフォルダーを選択するほかに、ファイルをそのファイルの過去のバージョンと比較することもできます。ファイルを自動保存バージョンまたはディスク上に保存されたバージョンと比較するには、[比較] をクリックし、[ディスク上のバージョンと比較] または [自動保存機能による保存および比較] を選択します。詳細については、自動保存バージョンまたはディスク上のバージョンとのファイルの比較を参照してください。これらのオプションはライブ スクリプトや関数では使用できません。

比較タイプの選択

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

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

現在のフォルダー ブラウザーまたは関数 visdiff のいずれかを使用して、比較するファイルまたはフォルダーを 2 つ指定する場合、比較ツールは自動的に既定の比較タイプを実行します。たとえば、現在のフォルダー ブラウザーから、比較する MAT ファイルを 2 つ選択すると、変数についての情報を表示する既定の比較タイプが得られます。比較タイプをバイナリに変更するには、比較ツールを使用して新しい比較を作成します。

比較レポートの詳細

比較する項目に応じて、さまざまな方法で比較レポートを調べることができます。

  • フォルダー、zip ファイル、および Simulink® マニフェスト — フォルダー、zip ファイル、または Simulink マニフェストの任意の組み合わせを比較して、各リストに固有のファイル名とフォルダー名を特定。同じ名前のファイルやフォルダーが同じ内容であるかどうかを識別することもできます。詳細については、フォルダー、zip ファイル、および Simulink マニフェストの比較を参照してください。

  • テキスト — 2 つのテキスト ファイルの行の比較とマージ (他のアプリケーションでは、これをファイルの "ファイルの差分" 処理と呼んでいます)。詳細については、テキストの比較とマージを参照してください。

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

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

  • バイナリ ファイル — 2 つのバイナリ ファイルの内容が一致するかどうかの確認。詳細については、バイナリ ファイルの比較を参照してください。

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

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

フォルダー、zip ファイル、および Simulink マニフェストの比較

フォルダー、zip ファイル、および Simulink マニフェストの任意の組み合わせに対して、ファイル リスト比較を実行できます。たとえば、フォルダーの内容を zip ファイルの内容と比較できます。

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

  • 共通ファイルの特定。

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

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

比較する項目を選択するには、比較するファイルやフォルダーを選択するを参照してください。比較する項目を選択するときは、[サブフォルダーを含む] を選択して、サブフォルダーの内容を比較レポートに含めます。

相違点の確認

ファイル リスト比較を実行すると、新しいウィンドウが開き、指定したリストの内容が並べて表示されます。次のイメージは、2 つのフォルダーを比較する比較レポートの例を示しています。

比較ツールでは、一致していないファイルやサブフォルダーが、以下の表での説明に従って強調表示されます。

相違点の概要強調色説明
変更された内容ファイルまたはフォルダーの内容が異なります。[比較] リンクをクリックして調べます。
追加済み右側のリストにのみファイルまたはフォルダーがあります。
削除済み左側のリストにのみファイルまたはフォルダーがあります。
同一なしファイルまたはフォルダーは同一です。

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

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

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

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

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

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

レポートのフィルター処理

比較するサブフォルダーの数が多い場合は特に、相違点の確認にかかる時間を短縮するためにレポートをフィルター処理することができます。フィルターを作成するには、[表示] タブに移動して [フィルター] ボタンをクリックし、[フィルターの追加/削除] を選択します。バックアップ ファイルや、改訂管理システムで作成したファイルなど、特定のファイルとフォルダーを無視するフィルターを指定できます。

たとえば、CVS という名前のフォルダー内のファイルとフォルダーをすべて無視するには、CVS/ と入力します。CVS という名前のフォルダー内のファイルをすべて無視し、サブフォルダーは無視しないようにするには、CVS/* と入力します。

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

テキストの比較とマージ

比較ツールを使用して、2 つのテキスト ファイルの行を比較およびマージすることができます。

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

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

テキスト比較を実行すると、新しいウィンドウが開き、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 つのファイル間で異なります。比較ツールでは、2 つの行の間に [x] が表示されます。
濃い紫強調表示された文字が 2 つの行の間で異なっています。
右側のファイルにのみ行があります。比較ツールでは、2 つの行の間に [>] が表示されます。
左側のファイルにのみ行があります。比較ツールでは、2 つの行の間に [<] が表示されます。

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

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

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

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

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

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

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

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

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

相違点の移動

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

相違点のマージ

テキスト ファイルを比較する際に、一方のファイルから他方のファイルに相違点をマージできます。相違点のマージは、異なるファイルのバージョン間の不一致を解決する際に便利です。

ヒント

左から右へのマージのみ実行できます。左側のファイルにマージする場合は、マージを開始する前に [左右交換] を使用します。[左右交換] により既に実行されているマージは元に戻され、元のファイルの新しい比較レポートが作成されます。

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

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

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

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

エディターでファイルを表示するには、レポートの行番号リンクをクリックします。

ヒント

エディターで変更を行う前に比較レポートでマージの変更を保存してください。それを行わない場合、比較レポートが適切でなくなります。レポートは、エディターで行った変更を反映するように更新されません。

自動保存バージョンまたはディスク上のバージョンとのファイルの比較

エディターで開いているファイルを、そのファイルの自動保存バージョンまたは保存済みバージョンと比較することができます。

ファイルの最新バージョンをエディターのバックアップ コピーと比較するには、まず、ファイルをエディターで開きます。次に、[エディター] タブに移動して [比較] をクリックし、[自動保存機能による保存および比較] を選択します。ファイルが変更されている場合、エディターはファイルを保存してから比較します。詳細は、ファイルのバックアップを参照してください。

未保存の変更をもつ開いたファイルを保存済みのバージョンと比較するには、[エディター] タブに移動して [比較] をクリックし、[ディスク上のバージョンと比較] を選択します。

ライブ コードの比較とマージ

ライブ コードの比較レポートの作成

比較ツールを使用して、2 つのライブ コード ファイルの行を比較およびマージすることができます。比較するファイルを選択するには、比較するファイルやフォルダーを選択するを参照してください。

ライブ コードの比較を実行すると、新しいウィンドウが開き、2 つのファイルが並べて表示されます。たとえば、いくつかの相違点がある 2 つのファイル averageweight.mlxaverageweight2.mlx があるとします。この 2 つのファイルを比較すると、比較ツールに結果のレポートが表示されます。

相違点の確認

比較ツールでは、相違点の総数が比較レポートの右下隅に表示され、一致しない行が、以下の表で説明されているように強調表示されます。

強調色説明
行の内容が 2 つのファイル間で異なります。
濃い紫強調表示された文字が 2 つのファイル間で異なっています。
右側のファイルにのみ行があります (右側のファイルでの挿入)。左側のファイルでの対応する行は、グレーの縞模様で強調表示されます。
左側のファイルにのみ行があります (右側のファイルでの削除)。右側のファイルでの対応する行は、グレーの縞模様で強調表示されます。

ライブ コード ファイルを比較すると、比較ツールによってコード、テキスト、およびテキスト書式設定の相違点が検出されます。比較ツールでは、保存済みの出力がファイルに含まれている場合でも、出力は無視されます。ツールが方程式、イメージ、またはコントロールの相違点を検出した場合には、項目全体が強調表示されます。

比較ツールは行を照合して、追加、削除、または変更されているコードやテキストを検出するよう試みます。1 行ごとの単純な比較は行いません。たとえば、averageweight.mlxaverageweight2.mlx のライブ コードの比較において、ツールは、averageweight.mlx には averageweight2.mlx にないコードが 2 行ある (5 行目と 7 行目) と判定し、黄色で強調表示しています。また、比較ツールは追加の行を考慮に入れ、disp ステートメントが同じ行番号にない場合でも、各ファイルの disp ステートメントの行が一致すると判断します。

ライブ コード ファイルが長い場合は、 [次へ] [前へ] のボタンを使用して、結果の相違点を一度に 1 つずつ表示していきます。

相違点のマージ

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

マージを開始するには、[比較] タブで、 [マージ モード] ボタンをクリックします。次に、右側のペインの内容を左側のペインの内容で置き換えるには、マージする行の横にある ボタンをクリックします。差分を選択して、[マージ] タブで [Replace Content] ボタンをクリックすることもできます。

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

置換を元に戻すには、変更した行の間、もしくは [比較] タブにある ボタンをクリックします。すべてのマージを元に戻してやり直すには、 [更新] ボタンをクリックします。 [更新] ボタンをクリックすると、ライブ エディターでファイルを変更して保存した後に、比較レポートを更新することもできます。更新を行うと、マージした変更はすべて破棄されます。

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

MAT ファイルの比較とマージ

MAT ファイル比較レポートの作成

比較ツールを使用して 2 つの MAT ファイルを比較できます。2 つの MAT ファイルを比較すると、以下を行うことができます。

  • 各ファイルに共通する変数と固有の変数の判定。

  • 個々の変数間の相違点の特定。たとえば、構造体のどのフィールドが異なっているかや、配列のどの要素が異なっているかを判定できます。

比較する項目を選択するには、比較するファイルやフォルダーを選択するを参照してください。

MAT ファイルの比較を実行すると、新しいウィンドウが開き、2 つのファイルが並べて表示されます。たとえば、2 つの MAT ファイル data1.matdata2.mat があるとします。この 2 つのファイルを比較すると、比較ツールに結果のレポートが表示されます。

相違点の確認

比較ツール レポートでは、以下の表での説明に従って変数の変更が強調表示されます。

相違点の概要強調表示説明
変更済み変数の値が 2 つのファイル間で異なります。[比較] リンクをクリックして調べます。詳細については、変数の比較を参照してください。
追加済み右側のファイルにのみ変数があります。
削除済み左側のファイルにのみ変数があります。
等価なし変数が両方のファイルで等価です。ツールは、NaN パターンの相違点、struct のフィールドの順序、正/負のゼロの違いを無視します。
変更済みのクラス紫 ([クラス] 列のみ)変数のデータ クラスが変更されています。[比較] リンクをクリックして調べます。

両方のファイルの変数は等価でもファイルが同一でない場合、レポートにはメッセージが表示されます。ファイル間の相違の原因として、ファイル形式、ファイルのタイムスタンプ、変数が保存されている順序、無視された相違点が含まれる変数などが考えられます。

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

  • 結果の並べ替え — 結果を名前、サイズ、クラス、または相違点の概要によって並べ替えるには、対応する列ヘッダーをクリックします。たとえば、[クラス] の列ヘッダーをクリックすると、クラス タイプによって並べ替えられます。

  • 変数の読み込み — 変数エディターに変数の内容を読み込むには、その変数の名前をクリックします。

  • MAT ファイルの読み込み — MAT ファイルのいずれかをワークスペースに読み込むには、レポート下部にある、対応する [読み込み] リンクをクリックします。

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

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

変数の比較

変数比較レポートには、配列の各要素や構造体の各フィールドの相違点が表示されます。個々の相違点を調べるには、強調表示された行をダブルクリックします。

相違点のマージ

MAT ファイルを比較する際には、一方のファイルの変更を他方にマージできます。MAT ファイルのマージを元に戻す機能はないため、慎重にマージしてください。

変更された変数を一方のファイルから他方にコピーするには、[比較] タブの [マージ] セクションで [マージ] ボタンをクリックします。

バイナリ ファイルの比較

バイナリ比較レポートの作成

比較ツールを使用して、DLL ファイルや MEX ファイルなど、2 つのバイナリ ファイルを比較できます。比較するファイルを選択するには、比較するファイルやフォルダーを選択するを参照してください。

選択した任意の 2 つのファイルについて、既定の比較の代わりにバイナリ比較を行うこともできます。バイナリ比較を使用して任意の 2 つのファイルを比較するには、[比較タイプ][バイナリ比較] に設定します。詳細については、バイナリ ファイルの比較を参照してください。

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

比較レポートのツールとオプション

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

  • レポートの左側と右側の入れ替え — 左側のファイルまたはフォルダーを右側のファイルまたはフォルダーと入れ替えるには、[比較] タブに移動して [左右交換] ボタンをクリックします。

  • 更新ファイル表示のためのレポートの更新 — エディターでファイルを変更して保存した後で比較ツールの結果を更新するには、[比較] タブに移動して [更新] ボタンをクリックします。

  • テキストの検索 — 現在の表示内で語句を検索するには、[比較] タブに移動して [検索] ボタンをクリックします。詳細については、コマンド ウィンドウまたは コマンド履歴でのテキスト検索を参照してください。

  • 色設定の変更 — 比較ツールの色設定を変更して保存するには、以下を行います。

    1. MATLAB の [ホーム] タブで [設定] をクリックし、[MATLAB][比較] を選択します。

    2. 相違点、変更された行、変更された内容、およびマージされた行に対して、希望する色を選択します。色設定を変更すると、[アクティブな設定][既定の設定 (変更済)] と表示されます。

    3. [適用] をクリックして比較レポートを更新し、色の更新がレポートに反映されていることを確認します。

    4. 変更した色設定を以降の MATLAB セッション用に保存するには、[名前を付けて保存] をクリックします。色設定プロファイルの名前を入力して [OK] をクリックします。

      色設定プロファイルを保存した後は、そのプロファイルを [アクティブな設定] リストで選択できます。

    5. 既定の設定に戻すには、[リセット] をクリックしてから [適用] をクリックします。比較レポートを更新します。

    色設定は、すべての比較タイプに適用されます。

ソース管理

ファイルやフォルダーの比較とマージに MATLAB 比較ツールを使用するために、外部のソース管理ツールをカスタマイズすることができます。詳細については、比較とマージに MATLAB を使用するための外部ソース管理のカスタマイズを参照してください。

参考

関連するトピック