Branch and Merge Files with Git

Create a Branch

  1. In a project using Git™ source control, click Branches on the Project tab. The Branches dialog box appears, where you can view, switch, create, and merge branches.

    Tip

    You can inspect information about each commit node. Select a node in the Branch Browser diagram to view the author, date, commit message, and changed files.

    The Branches pane in this figure shows an example branch history.

  2. Select a source for the new branch. Click a node in the Branch Browser diagram, or enter a unique identifier in the Source text box. You can enter a tag, branch name, or a unique prefix of the SHA1 hash (for example, 73c637 to identify a specific commit). Leave the default to create a branch from the head of the current branch.

  3. Enter a name in the Branch name text box and click Create.

  4. To work on the files on your new branch, switch your project to the branch.

    In the Branches drop-down list, select the branch you want to switch to and click Switch.

  5. Close the Branches dialog box to return to the project and work on the files on your branch.

For next steps, see Pull, Push, and Fetch Files with Git.

Switch Branch

  1. In a project, click Branches.

  2. In the Branches dialog box, select the branch you want to switch to in the Branches list and click Switch.

  3. Close the Branches dialog box to return to the project and work on the files on the selected branch.

Compare Branches and Save Copies

In the Branches dialog box, to examine differences from the parent, right-click a file in the tree under Differences from parent and select Show Difference. The project opens a comparison report.

If you want to examine added or deleted files, or to test how the code ran in previous versions, you can save a copy of the selected or parent files. Right-click a file and select Save As or Save Parent As.

Merge Branches

Before you can merge branches, you must install command-line Git on your system path and register model files as binary to prevent Git from inserting conflict markers. See Install Command-Line Git Client.

Tip

After you use Fetch, you must merge. See Pull, Fetch, and Merge.

To merge any branches:

  1. In a project, click Branches.

  2. In the Branches dialog box, from the Branches drop-down list, select a branch you want to merge into the current branch, and click Merge.

  3. Close the Branches dialog box to return to the project and work on the files on the current branch.

If the branch merge causes a conflict that Git cannot resolve automatically, an error dialog box reports that automatic merge failed. The Branch status in the Git pane displays MERGING. Resolve the conflicts before proceeding.

Caution

Do not move or delete files outside of MATLAB® because this can cause errors on merge.

Keep Your Version

  1. To keep your version of the file, right-click the file and select Mark Conflict Resolved. The Branch status in Git pane displays MERGE_RESOLVED. The Modified Files list is empty, because you have not changed any file contents. The local repository index version and your branch version are identical.

  2. Click Commit to commit your change that marks the conflict resolved.

View Conflicts in Branch Versions

If you merge a branch and there is a conflict in a model file, Git marks the file as conflicted and does not modify the contents. Right-click the file and select View Conflicts. The project opens a comparison report showing the differences between the file on your branch and the branch you want to merge into. Decide how to resolve the conflict. See Resolve Conflicts.

Revert to Head

To remove all local changes, in the Branches dialog box, click Revert to Head.

Delete Branches

  1. In the Branches dialog box, from the Branches drop-down list, select a branch you want to delete. You cannot delete the current branch.

  2. On the far right, click the down arrow and select Delete Branch.

    Caution

    You cannot undo deleting a branch.

Related Examples

More About