Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

モデルの自動マージ

MATLAB® Git™ 統合を有効にすると、Git リポジトリでブランチを自動的にマージできます。MATLAB では、同じ SLX ファイル内の異なるサブシステム、Stateflow® チャート、およびコンフィギュレーション セットに変更があるブランチを自動的にマージできます。

ヒント

MATLAB では、ユーザーが異なるサブシステムで作業している場合にモデル ファイルを自動的にマージして競合を解決します。

異なるサブシステムで作業している場合以外は、手動でマージして競合を解決する必要があります。詳細については、比較レポートからの Simulink モデルのマージを参照してください。

MATLAB Git 統合では、変更されたサブシステムの子サブシステムにある変更が自動的にマージされます。端子数に変更がない場合、子サブシステムは親サブシステムから独立しています。

MATLAB では、ウィンドウの位置、開いているエディターのタブ、その他のグラフィカルな詳細など、機能以外の変更についての競合はレポートされません。

Git リポジトリでモデルの自動マージを有効にするには、以下を行います。

  1. MATLAB で以下のコマンドを実行します。

    comparisons.ExternalSCMLink.setupGitConfig();

    このコマンドにより、グローバル .gitconfig ファイルが事前設定されます。次に例を示します。

    [difftool "mlDiff"]
       cmd = \"C:/Program Files/MATLAB/R2022b/bin/win64/mlDiff.exe\" $LOCAL $REMOTE
    [mergetool "mlMerge"]
       cmd = \"C:/Program Files/MATLAB/R2022b/bin/win64/mlMerge.exe\" $BASE $LOCAL $REMOTE $MERGED
    [merge "mlAutoMerge"]
       driver = \"C:/Program Files/MATLAB/R2022b/bin/win64/mlAutoMerge.bat\" %O %A %B %A

  2. 実行可能ファイル mlAutoMerge を使用するように Git リポジトリを構成します。リポジトリで .gitattributes ファイルを開いて、次を追加します。

    *.slx binary merge=mlAutoMerge
    *.mdl binary merge=mlAutoMerge

これで、同じ SLX ファイルのオーバーラップしない部分に変更があるブランチをマージするときに、MATLAB Git 統合でマージが自動的に処理されるようになります。

要件ファイルおよびリンクの自動マージも有効にできます。リポジトリで .gitattributes ファイルを開いて、次を追加します。

*.slreqx binary merge=mlAutoMerge
*.slmx binary merge=mlAutoMerge

詳細については、要件セットとリンク セットの 3-way 自動マージ ソリューション (Requirements Toolbox)を参照してください。

MATLAB 比較ツールと自動マージ機能を使用するように外部ソース管理ツールをカスタマイズすることもできます。詳細については、MATLAB を比較とマージに使用するための外部ソース管理のカスタマイズを参照してください。

関連するトピック