Simulink and Git - Compare branches

4 次查看(过去 30 天)
Is there any way to compare Git branches on a Simulink project? In other words, show which files are different before merging.
  2 个评论
Bogdan Bodnarescu
Bogdan Bodnarescu 2022-6-13
I am interested about this too, also did you find a way to make git merge work properly for simulink models?
For me the results given by the merge makes no sense, I basically have to do all the merges manually otherwise the merged model will be a total disaster.
Mark
Mark 2024-2-26
I'm interrested in this as well.
Right now I have to do a checkout of the branch, copy the .slx to a new folder, checkout my stuff again, and use Simulink to compare.
Even then, a "git merge --no-commit " is recommended to make it easy to use a file-compare tool (like Araxis merge or Beyond compare) to grab what you want...then do your git add, git merge --continue.

请先登录,再进行评论。

回答(1 个)

Swastik Sarkar
Swastik Sarkar 2025-5-29
Hello,
To identify files with differing content between two branches, the following command may be used:
git diff branch1..branch2 --name-only
For binary files such as Simulink models, MAT files, and similar formats, standard diff tools do not provide meaningful output. In such cases, both versions of the file must be present on disk for comparison.
While on branch1, the version of model.slx from branch2 can be extracted using:
git show branch2:path/to/model.slx > model-branch2.slx
The differences can then be visualized in MATLAB using:
visdiff('model.slx', 'model-branch2.slx');
Hope this helps !

类别

Help CenterFile Exchange 中查找有关 Modeling 的更多信息

标签

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by