Main Content

Source Control in Projects

Configure source control, retrieve files, review changes, commit modified files

Projects help you to organize large modeling projects by finding required files, managing and sharing files and settings, and interacting with source control. Watch Using Projects to Collaborate, Track, and Merge Changes and Perform Code Reviews (4 min, 50 sec) and see What Are Projects? and About Source Control with Projects.


expand all

currentProjectGet current project
openProjectLoad an existing project
listModifiedFilesList modified files in project
listRequiredFilesGet files required by specified project files
listImpactedFilesGet files impacted by changes to specified project files
refreshSourceControlUpdate source control status of project files
runChecksRun all project checks
Simulink.getFileChecksumChecksum of file

Legacy API

simulinkproject(Not recommended) Open project and get project object


Source Control Setup

About Source Control with Projects

What source control tools and workflows can I use in a project? Try built-in Git or SVN, or integrate third-party tools.

Add a Project to Source Control

Add Git or SVN source control to your project.

Register Model Files with Source Control Tools

Register model files as binary.

Set Up Git Source Control

Configure Git, register model files, and use SSH Authentication with MATLAB®.

Automatically Merge Models

Enable MATLAB Git™ integration to automatically merge model files.

Create New GitHub Repository

Create an empty remote GitHub® repository.

Share Project on GitHub

To share your project, make your project publicly available on GitHub.

Add Git Submodules

Clone an external Git repository as a submodule.

Set Up SVN Source Control

Configure SVN, register model files, lock files, share repositories, and manage SVN externals.

Disable Source Control

Disable source control to prepare a project template.

Change Source Control

Archive a project and create a new one with a different source control.

Write a Source Control Integration with the SDK

Use the Software Development Kit (SDK) to integrate projects with third-party source control tools.

Customize External Source Control to Use MATLAB for Diff and Merge

Use the MATLAB Comparison Tool for diff and merge from external source control tools.

Retrieval and Checkout

Clone Git Repository

Retrieve a working copy of a project from Git source control.

Check Out SVN Repository

Retrieve a working copy of a project from SVN source control.

Tag and Retrieve Versions of Project Files

With SVN, tag specific revisions of a project.

Refresh Status of Project Files

Check for locally modified project files.

Check for Modifications

Find out if the repository version has moved ahead.

Update Revisions of Project Files

Update revisions with Git or SVN.

Get SVN File Locks

With SVN, ensure users get locks on model files before editing.

Reviewing Changes and Committing Modified Files

View Modified Files

Examine changes in the project.

Compare Revisions

Review changes in modified files by comparing with ancestors, or compare particular revisions.

Run Project Checks

Check projects for problems such as unsaved changes, files not under source control, or derived files out-of-date.

Commit Modified Files to Source Control

Commit a change set to the local Git repository or SVN repository.

Revert Changes

Discard local changes or choose a revision for a file or the whole project.

Pull, Push, and Fetch Files with Git

Git workflow for fetching, merging and pushing changes to the remote repository.

Branch and Merge Files with Git

Create, switch, merge, revert, and delete branches.

Resolve Conflicts

Locate and resolve conflicts; merge text files and merge models; extract conflict markers.

Work with Derived Files in Projects

Best practices for derived files, such as .mex and slprj files.

Featured Examples