モデルの自動マージ
MATLAB® Git™ 統合を有効にすると、mlAutoMerge
Git プラグインを使用して Git リポジトリでブランチを自動的にマージできます。プラグインでは、同じ SLX ファイル内の異なるサブシステム、Stateflow® チャート、およびコンフィギュレーション セットに変更があるブランチを自動的にマージできます。
ヒント
mlAutoMerge
Git プラグインでは、ユーザーが異なるサブシステムで作業している場合にモデル ファイルを自動的にマージして競合を解決します。
異なるサブシステムで作業している場合以外は、手動でマージして競合を解決する必要があります。詳細については、Resolve Conflicts in Models Using Three-Way Mergeを参照してください。
mlAutoMerge
Git プラグインでは、変更されたサブシステムの子サブシステムにある変更が自動的にマージされます。端子数に変更がない場合、子サブシステムは親サブシステムから独立しています。プラグインでは、ウィンドウの位置、開いているエディターのタブ、その他のグラフィカルな詳細など、機能以外の変更についての競合はレポートされません。
Git リポジトリでモデルの自動マージを有効にするには、以下を行います。
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
ブランチのマージで競合する SLX ファイルおよび MDL ファイルの解決に実行可能ファイル
mlAutoMerge
を使用するように Git リポジトリを構成します。リポジトリで.gitattributes
ファイルを開いて、次を追加します。*.slx binary merge=mlAutoMerge *.mdl binary merge=mlAutoMerge
これで、同じ SLX ファイルのオーバーラップしない部分に変更があるブランチをマージするときに、mlAutoMerge
でマージが自動的に処理されるようになります。
要件ファイルおよびリンクの自動マージも有効にできます。リポジトリで .gitattributes
ファイルを開いて、次を追加します。
*.slreqx binary merge=mlAutoMerge *.slmx binary merge=mlAutoMerge
詳細については、Configure Git Environment to Merge Requirement and Linkset Files (Requirements Toolbox)を参照してください。
MATLAB 比較ツールと自動マージ機能を使用するように外部ソース管理ツールをカスタマイズすることもできます。詳細については、MATLAB を比較とマージに使用するための外部ソース管理のカスタマイズを参照してください。