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.
Interact with Source Control
|Get current project|
|Load an existing project|
|List modified files in project|
|Get files required by specified project files|
|Get files impacted by changes to specified project files|
|Update source control status of project files|
|Run all project checks|
|Checksum of file|
|(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
Set up Git source control for use in MATLAB®, including registering your binary files to avoid file corruption and setting up SSH Authentication to prevent frequent login prompts.
- 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.
- Set Source Control Preferences
Disable a source control system and set Git preferences in MATLAB Online™.
- Continuous Integration Using MATLAB Projects and Jenkins
Set up your project for CI in Jenkins and reduce test suite runtime using dependency cache.
- 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.
- Determine Order for Resolving Conflicts Using Dependency Analyzer
Use the Dependency Analyzer to determine the resolve merge conflicts order in a project.
- Work with Derived Files in Projects
Best practices for derived files, such as