Simulink and Git - Compare branches

4 views (last 30 days)
Guilherme Sinoara
Guilherme Sinoara on 23 Sep 2015
Answered: Swastik Sarkar on 29 May 2025
Is there any way to compare Git branches on a Simulink project? In other words, show which files are different before merging.
  2 Comments
Bogdan Bodnarescu
Bogdan Bodnarescu on 13 Jun 2022
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 on 26 Feb 2024
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.

Sign in to comment.

Answers (1)

Swastik Sarkar
Swastik Sarkar on 29 May 2025
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 !

Categories

Find more on Modeling in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

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

Start Hunting!