Main Content

アプリの比較とマージ

比較ツールを使用して 2 つのアプリを比較し、一方のファイルともう一方のファイルの間で変更をマージできます。比較ツールでは、2 つのアプリのコードの相違点が強調表示されます。

比較するファイルの選択

2 つのファイルを選択して比較ツールを起動するには複数の方法があります。

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

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

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

相違点の確認

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

Two apps being compared in the Comparison Tool. The apps have four differences between them including a difference within a line highlighted in purple, two individual lines that exist only in the right file, each highlighted in blue, and several lines that exist only in the left file, highlighted in yellow.

アプリの比較に際し、比較ツールは行を照合して、追加、削除、または変更されているコードを検出するよう試みます。比較ツールでは、相違点の総数が比較レポートの右下隅に表示され、一致しない行が、以下の表に挙げる色を使用して強調表示されます。

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

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

比較レポートを構成する方法の詳細については、ファイルやフォルダーの比較とファイルのマージを参照してください。

変更のマージ

アプリを比較するとき、一方のアプリの変更を他方にマージできます。変更点のマージは、異なるバージョンのアプリ間の不一致を解決する際に便利です。

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

Two apps being merged in the Comparison Tool. There are four differences between the two apps. The first two differences cannot be merged and show a disabled merge button. The second two differences can be merged and show an enabled merged button.

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

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

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

マージ成功のためのヒント

変更をマージできるのは、編集可能なコード内のみです。背景が白のコード セクションは編集可能です。編集可能なセクションの例には、自分で定義する関数の本体 (コールバックや補助関数など) やカスタム プロパティの定義などが含まれます。背景がグレーのセクションは、編集不可の生成コードを含んでいるためマージできません。編集可能なセクションと編集不可のセクションの両方にまたがる変更は、マージできません。

変更は、左から右へのみマージできます。このため、比較ツール内でのファイルの順序が重要になります。

どちらのアプリでも生成コードに変更が含まれていない場合は、マージ対象とする変更を含むファイルを左側のペインに配置します。左から右へのマージのみ実行できます。ファイルを左側のペインから右側のペインに入れ替えるには、マージを開始する前に [左右交換] ボタンをクリックします。 [左右交換] ボタンをクリックすると、既に実行されているマージは元に戻され、元のファイルの新しい比較レポートが作成されます。

いずれか一方のアプリの生成コードに変更が含まれている場合は、マージ結果に含める生成コードを含むファイルを、比較ツールの右側のペインに配置します。ファイルを左側のペインから右側のペインに入れ替えるには、マージを開始する前に [左右交換] ボタンをクリックします。

両方のアプリの生成コードに変更が含まれている場合、これらのコード行は比較ツールでマージできません。ファイルをマージするには、App Designer を使用して必要な変更をアプリに対話的に適用します。

参考

関連するトピック