ファイルやフォルダーの比較とファイルのマージ
比較ツールを使用して、選択した 2 つのファイルまたはフォルダー間の相違点を表示できます。一部のファイル タイプでは、一方のファイルの変更を他方にマージできます。
比較プロセス
比較プロセスには 3 つの手順があります。
比較するファイルまたはフォルダーを選択します。
比較タイプを選択します。
比較レポートを調べます。
比較するファイルやフォルダーを選択する
次のいずれかの方法で、比較するファイルやフォルダーを選択できます。
MATLAB® デスクトップ — [ホーム] タブに移動し、[ファイル] セクションで [比較] をクリックします。 ボタンをクリックして比較する項目を選択するか、ファイル ブラウザーから [最初のファイルまたはフォルダー] フィールドまたは [2 番目のファイルまたはフォルダー] フィールドへとファイルをドラッグ アンド ドロップします。
現在のフォルダー ブラウザー — ファイルまたはフォルダーを選択し、右クリックして [比較対象を指定] を選択します。 ボタンをクリックして比較する 2 番目の項目を選択するか、ファイル ブラウザーから [2 番目のファイルまたはフォルダー] フィールドへとファイルをドラッグ アンド ドロップします。比較するファイルまたはサブフォルダーを 2 つ選択するには、Ctrl キーを押しながらファイル名をクリックします。次に、右クリックして [選択したファイル/フォルダーを比較] を選択します。
エディターまたはライブ エディター — [エディター] タブまたは [ライブ エディター] タブに移動し、[ファイル] セクションで [比較] をクリックします。比較ツールの [最初のファイルまたはフォルダー] フィールドに、現在開いているファイルが含まれています。 ボタンをクリックして比較する 2 番目の項目を選択するか、ファイル ブラウザーから [2 番目のファイルまたはフォルダー] フィールドへとファイルをドラッグ アンド ドロップします。
ファイルを自動保存バージョンまたはディスク上に保存されたバージョンと比較するには、[エディター] タブに移動して [比較] をクリックし、[ディスク上のバージョンと比較] または [自動保存機能による保存および比較] を選択します。ファイルが変更されている場合、エディターはファイルを保存してから比較します。[ディスク上のバージョンと比較] オプションと [自動保存機能による保存および比較] オプションは、変更をファイルに自動的に保存するオプションが無効になっている場合にのみ使用できます。このオプションを無効にするには、[ホーム] タブに移動し、[環境] セクションで [基本設定] をクリックします。次に、[エディター/デバッガー] を選択し、[ファイル以外の場所をクリックしたときに変更を保存] をオフにします。このオプションは、ライブ エディターでは使用できません。
コマンド ウィンドウ — 関数
visdiff
を使用します。たとえば、2 つのファイルlengthofline.m
とlengthofline2.m
を関数visdiff
と既定のテキスト比較を使用して比較するには、「visdiff('lengthofline.m','lengthofline2.m')
」と入力します。MATLAB によって比較ツールが開かれ、結果の比較レポートが表示されます。
ヒント
比較するフォルダーを選択するときは、[サブフォルダーを含む] を選択して、サブフォルダーの内容を比較に含めます。
比較タイプの選択
比較ツールでは、選択した項目は、その選択した項目に定義された既定の比較タイプを使用して比較されます。一部の項目タイプでは、既定と異なる比較タイプを選択できます。たとえば、テキスト比較、バイナリ比較、ファイル リスト比較、または XML 比較を選択できます。比較タイプを変更するには、比較するファイルまたはフォルダーを選択します。次に、使用可能な [比較タイプ] オプションから選択します。比較ツールでは、選択した項目タイプに対して有効なオプションのみが表示されます。
既存の比較レポートの比較タイプは変更できません。比較タイプを変更するには、新規比較を開始してください。
現在のフォルダー ブラウザーまたは関数 visdiff
のいずれかを使用して、比較するファイルまたはフォルダーを 2 つ指定する場合、比較ツールは自動的に既定の比較タイプを実行します。たとえば、現在のフォルダー ブラウザーから、比較する XML ファイルを 2 つ選択する場合、ツールは既定のテキスト比較を使用します。代わりに、比較タイプを階層比較に変更するには、比較ツールを使用して新しい比較を作成します。
比較レポートの詳細
比較タイプを選択後、[比較] ボタンをクリックします。比較レポートが開きます。比較する項目に応じて、さまざまな方法で比較レポートを調べることができます。詳細については、以下の各比較タイプに関する説明を参照してください。
フォルダーと zip ファイルの比較
比較ツールを使用すると、フォルダーと zip ファイルを任意に組み合わせて比較できます。たとえば、フォルダーの内容を zip ファイルの内容と比較できます。比較ツールは、選択した項目のファイル リスト比較を実行します。
フォルダーの比較レポートを作成すると、以下を実行できます。
共通ファイルの特定。
同一名のファイルまたはフォルダーの内容が同じであるかどうかの確認。このようなファイルまたはフォルダーが存在する場合は、項目の詳細な比較レポートを、レポートから直接開くことができます。
ファイル リスト比較を実行すると、新しいウィンドウが開き、指定したリストの内容が並べて表示されます。たとえば、いくつかの相違点がある 2 つのフォルダー curvefitting
と curvefitting2
があるとします。この 2 つのフォルダーを比較すると、比較ツールに結果のレポートが表示されます。
比較ツールでは、一致していないファイルやサブフォルダーが、以下の表に挙げる色を使用して強調表示されます。
強調色 | 説明 |
---|---|
紫 | ファイルまたはフォルダーの内容が異なります。[比較] リンクをクリックして調べます。 |
青 | 右側のリストにのみファイルまたはフォルダーがあります。 |
黄 | 左側のリストにのみファイルまたはフォルダーがあります。 |
なし | ファイルまたはフォルダーは同一です。 |
次のいくつかの方法を使用して、結果をさらに詳しく調べることができます。
結果を名前、タイプ、サイズ、または最終更新タイムスタンプによって並べ替えるには、対応する列ヘッダーをクリックします。たとえば、フォルダーやファイルの種類によって並べ替えるには、列ヘッダー [タイプ] をクリックします。
内容が異なっている項目の詳細な比較レポートを開くには、項目の横にある [比較] リンクをクリックします。
ファイルをエディターで開くには、ファイル名の横の [開く] リンクをクリックします。ファイルが両方のフォルダーにある場合は、リンクをクリックして [左] または [右] のバージョンのファイルを開くことができます。
サブフォルダーが大容量で多数のファイルが含まれている場合は、バックグラウンドで分析が続行します。ツールでは、まだ比較していない項目の数がレポートの最上部に表示されます。[現在の項目をスキップ] をクリックして現在の項目をスキップするか、[すべてキャンセル] クリックして以降の解析を中止することができます。
比較するサブフォルダーの数が多い場合は特に、相違点の確認にかかる時間を短縮するためにレポートをフィルター処理することができます。フィルターを適用するには、[表示] タブで [フィルター] 、 [
filterName
] を選択します。新しいフィルターを作成するには、[表示] タブで、[フィルター] 、 [フィルターの追加/削除] を選択します。バックアップ ファイルや、改訂管理システムで作成したファイルなど、特定のファイルとフォルダーを無視するフィルターを指定できます。たとえば、
CVS
という名前のフォルダー内のファイルとフォルダーをすべて無視するには、CVS/
と入力します。CVS
という名前のフォルダー内のファイルをすべて無視し、サブフォルダーは無視しないようにするには、CVS/*
と入力します。既存のフィルターを編集するには、フィルターをダブルクリックします。
比較レポートをさらに詳しく構成する方法の詳細については、追加の比較ツールを参照してください。
MATLAB Online での MATLAB プロジェクトの比較
MATLAB Online™ では、プロジェクト定義ファイルを比較できます。フォルダーを比較すると、MATLAB によってフォルダーがプロジェクト ルート フォルダーかどうかが検出されます。MATLAB は、resources
または .SimulinkProject
フォルダーに保存されているプロジェクト定義ファイルを検索して比較します。プロジェクト定義ファイルには、プロジェクトのパス、プロジェクトの設定、ショートカット、ラベル、および参照プロジェクトに関する情報が含まれます。
プロジェクト定義ファイルを比較するには、PRJ ファイルまたはプロジェクト ルート フォルダーを選択し、選択項目を右クリックして、[選択したファイル/フォルダーを比較] を選択します。結果レポートでノードを選択すると、比較ツールにより、下部のペインに詳細が表示されます。
この例では、比較により、以下が示されます。
AnalogControl.slx
(紫) が変更されている。f14_airframe.slx
(黄) がプロジェクト内のf14_airframe.mdl
(青) で置き換えられている。LinearActuator.slx
が変更されていて (紫)、モデルに新しいラベルが関連付けられている (青)。[Release Branch] という新規ラベル分類カテゴリが追加されている。
Signal Multiplier プロジェクトへの参照が削除されている。
F14 Model ショートカットが削除されている。
プロジェクトの詳細、パス、依存関係設定などのプロジェクト設定が変更されている。たとえば、[プロジェクトの設定] の [詳細] セクションで、プロジェクトの説明が変更されている。
MATLAB Online では、プロジェクト定義ファイルのみを比較できます。
テキスト ファイルの比較
比較ツールを使用して、2 つのテキスト ファイルの行を比較およびマージすることができます。テキスト比較を実行すると、新しいウィンドウが開き、2 つのファイルが並べて表示されます。
ファイルの比較
ユーザーが lengthofline.m
にいくつか変更を加え、結果のファイルを lengthofline2.m
という名前で保存しました。
visdiff
を使用して、lengthofline.m
ファイルと lengthofline2.m
ファイルを比較します。
visdiff("lengthofline.m","lengthofline2.m")
比較ツールに結果のレポートが表示されます。
比較結果について
比較ツールでは、相違点の総数が比較レポートの右下隅に表示され、変更のあった行が、以下の表に挙げる色を使用して強調表示されます。
ファイルが同一であるか、改行のみが異なる場合、相違点がないことを報告するメッセージが表示されます。
強調色 | 説明 |
---|---|
紫 | 行に相違点が含まれています。 |
濃い紫 | 強調表示された文字が異なります。 |
青 | 右側のファイルにのみ行があります。これは、右側のファイルに行が挿入されたとき、または左側のファイルから行が削除されたときに発生することがあります。左側のファイルの対応する行は、グレーの縞模様を使用して強調表示されます。 |
黄 | 左側のファイルにのみ行があります。これは、左側のファイルに行が挿入されたとき、または右側のファイルから行が削除されたときに発生することがあります。右側のファイルの対応する行は、グレーの縞模様を使用して強調表示されます。 |
比較ツールは行を照合して、追加、削除、または変更されているテキストを検出するよう試みます。たとえば、lengthofline.m
と lengthofline2.m
のテキスト比較において、ツールは、lengthofline2.m
には lengthofline.m
にないコード行があると判定して青色で強調表示 (22 行目) しています。また、比較ツールは追加の行を考慮に入れ、end
ステートメントが両方のファイルの同じ行番号にない場合でも、end
ステートメントを含む行は各ファイルで一致すると判断します。
いくつかの方法を使用して、結果をさらに詳細に調べて構成することができます。
空白の相違点を無視 — 機能的な変更とインデントの変更を区別しやすくするために、空白の相違点を非表示にすることができます。空白文字のみの関わる相違点を非表示にするには、[フィルター] をクリックし、[空白を無視] を選択します。
比較したファイルの詳細を表示 — ファイルの詳細を表示するには、ファイル名の横にある矢印 をクリックして展開します。
比較レポートの保存 — 比較レポートのコピーを保存するには、[パブリッシュ] 、 [HTML にパブリッシュ]、[Word にパブリッシュ]、または [PDF にパブリッシュ] を選択します。
比較レポートをさらに詳しく構成する方法の詳細については、追加の比較ツールを参照してください。
結果の相違点を一度に 1 つずつ順番に表示するには、 [次へ] ボタンと [前へ] ボタンを使用します。
既定では、XML ファイルはテキスト比較を使用して比較されます。代わりに階層比較を使って XML ファイルを比較するには、XML ファイルの比較を参照してください。
テキスト ファイルのマージ
テキスト ファイルを比較するときに、1 つのファイルの変更を他のファイルにマージできます。相違点のマージは、異なるファイルのバージョン間の不一致を解決する際に便利です。変更のマージに際しては、左から右へのマージのみを実行できます。左側のファイルにマージする場合は、マージを開始する前に [左右交換] ボタンをクリックします。 [左右交換] ボタンをクリックすると、既に実行されているマージは元に戻され、元のファイルの新しい比較レポートが作成されます。
マージを開始するには、[比較] タブで [マージ モード] ボタンをクリックします。次に、右側のペインの内容を左側のペインの内容で置き換えるには、マージする行の横にある ボタンをクリックします。相違点を選択して、[比較] タブで [内容の置換] ボタンをクリックすることもできます。
右側のペインにはマージした結果が表示されます。右側のペインにある、マージされたファイル名の横に付いているアスタリスク (lengthofline2.m *
) は、ファイルに未保存の変更が含まれていることを示しています。
置換を元に戻すには、変更した行の間、もしくは [比較] タブにある [元に戻す] ボタンをクリックします。すべてのマージを元に戻してやり直すには、 [リフレッシュ] ボタンをクリックします。 [リフレッシュ] ボタンをクリックすると、ファイルを変更して保存した後に、比較レポートをリフレッシュすることもできます。リフレッシュすると、未保存のマージした変更はすべて破棄されます。
変更を保存して比較レポートに戻るには、 [結果を保存] ボタンをクリックします。変更を保存せずに比較レポートに戻るには、 [比較に戻る] ボタンをクリックします。
バイナリ ファイルの比較
比較ツールを使用して、DLL ファイルや MEX ファイルなど、2 つのバイナリ ファイルを比較できます。選択した任意の 2 つのファイルについて、既定の比較の代わりにバイナリ比較を行うこともできます。
バイナリ比較を使用して任意の 2 つのファイルを比較するには、[比較タイプ] メニューで [バイナリ比較]
を選択します。バイナリ比較を実行すると、新しいウィンドウが開き、2 つのファイルが同一であるか異なっているかが示されます。ファイルが異なっている場合は、[詳細を表示] リンクをクリックすると、バイナリ ファイルおよび最初の相違のバイト オフセットが表示されます。
その他のファイル タイプの比較
比較ツールを使用してその他のファイル タイプを比較できます。
ライブ コード — 2 つのライブ コード ファイルのコードおよびテキストの比較とマージを行います。詳細については、ライブ スクリプトおよび関数の比較とマージを参照してください。
アプリ — 2 つのアプリのコードの比較とマージを行います。詳細については、アプリの比較とマージを参照してください。
MAT ファイル — 2 つの MAT ファイルの変数の比較とマージを行います。詳細については、MAT ファイルの比較とマージを参照してください。
XML ファイル — テキスト比較または階層的な XML 比較を使用して 2 つの XML ファイルを比較します。詳細については、XML ファイルの比較を参照してください。
Simulink® モデル — Simulink がある場合、Simulink モデルを比較しマージすることができます。詳細については、モデルの比較 (Simulink)を参照してください。
MLDATX テスト ファイル — MLDATX テスト ファイル内の Simulink Test™ テスト ケースを比較およびマージします。詳細については、Compare and Merge Test Files (Simulink Test)を参照してください。
追加の比較ツール
次の利用可能なツールを使用して、比較レポートをさらに詳しく調べ、構成することができます。
[左右交換] ボタン — 左側のファイルまたはフォルダーを右側のファイルまたはフォルダーと入れ替えます。
リフレッシュ ボタン — エディターでファイルの変更と保存を行った後に、比較ツールで結果をリフレッシュします。
[検索] ボタン — 現在の表示内でフレーズを検索します。詳細については、コマンド ウィンドウまたは コマンド履歴でのテキスト検索を参照してください。
比較の基本設定
比較の基本設定を使用して比較ツールをカスタマイズできます。比較の基本設定を変更するには、[ホーム] タブの [環境] セクションで、 [基本設定] をクリックします。次に、[MATLAB] 、 [比較] を選択します。
色の基本設定
比較ツールで、変更した行の強調表示に使用される色を変更できます。色の基本設定は、すべての比較タイプに適用されます。
色の基本設定を変更するには、比較の基本設定の [色] セクションで、相違点、変更された行、変更された内容、およびマージされた行について、色を変更します。[サンプル] の領域には選択された色のプレビューが表示されます。比較の色を変更した後、リフレッシュされた色を表示させるには、開いている比較レポートをすべてリフレッシュしなければなりません。
変更した色の基本設定を以降の MATLAB セッション用に保存するには、[名前を付けて保存] をクリックして、色設定プロファイルの名前を入力します。カラー プロファイルを保存した後は、そのプロファイルを [アクティブな設定] リストで選択できます。既定のカラー プロファイルに戻すには、[リセット] をクリックします。
外部ソース管理統合の基本設定
比較ツールを使用して、外部のソース管理ツールでファイルとフォルダーの比較やマージができます。開いている MATLAB セッションの再利用を外部ソース管理ツールで可能にするには、比較の基本設定の [外部ソース管理統合] セクションで [比較とマージのために、開いている MATLAB セッションの、外部ソース管理ツールによる使用を許可する] オプションを選択します。MATLAB の比較ツールを使用するようソース管理ツールを設定すると、比較ツールによりこのオプションを選択するよう指示されます。
詳細については、MATLAB を比較とマージに使用するための外部ソース管理のカスタマイズ (Simulink)を参照してください。