A branch is a version of a project's working tree. You create a branch for each set of related changes you make. This keeps each set of changes separate from each other, allowing changes to be made in parallel, without affecting each other.
After pushing your changes to a new branch, you can:
- Create a merge request
- Perform inline code review
- Discuss your implementation with your team
- Preview changes submitted to a new branch with Review Apps.
You can also request approval from your managers.
For more information on managing branches using the GitLab UI, see:
- Default branches: When you create a new project, GitLab creates a default branch for the repository. You can change this setting at the project, subgroup, group, or instance level.
- Create a branch
- Protected branches
- Delete merged branches
- Branch filter search box
You can also manage branches using the command line.
Watch the video GitLab Flow.
- Branches API, for information on operating on repository branches using the GitLab API.
- GitLab Flow documentation.
- Getting started with Git and GitLab.
To compare branches in a repository:
Navigate to your project's repository.
Select Repository > Compare in the sidebar.
Select the target repository to compare with the repository filter search box.
Select branches to compare using the branch filter search box.
Click Compare to view the changes inline:
Delete merged branches
Introduced in GitLab 8.14.
This feature allows merged branches to be deleted in bulk. Only branches that have been merged and are not protected are deleted as part of this operation.
It's particularly useful to clean up old branches that were not deleted automatically when a merge request was merged.
Repository filter search box
Introduced in GitLab 13.10.
This feature allows you to search and select a repository quickly when comparing branches.
Search results appear in the following order:
- Repositories with names exactly matching the search terms.
- Other repositories with names that include search terms, sorted alphabetically.
Branch filter search box
Introduced in GitLab 11.5.
This feature allows you to search and select branches quickly. Search results appear in the following order:
- Branches with names that matched search terms exactly.
- Other branches with names that include search terms, sorted alphabetically.
Sometimes when you have hundreds of branches you may want a more flexible matching pattern. In such cases you can use the following:
^featurematches only branch names that begin with 'feature'.
feature$matches only branch names that end with 'feature'.