Merge requests (FREE)
Merge requests (MRs) are the way you check source code changes into a branch. When you open a merge request, you can visualize and collaborate on the code changes before merge. Merge requests include:
- A description of the request.
- Code changes and inline code reviews.
- Information about CI/CD pipelines.
- A comment section for discussion threads.
- The list of commits.
Merge requests contain tabs at the top of the page to help you navigate to important parts of the merge request: Overview, Commits, Pipelines, and Changes.
To get started, read the introduction to merge requests.
Merge request workflows
For a software developer working in a team:
- You checkout a new branch, and submit your changes through a merge request.
- You gather feedback from your team.
- You work on the implementation optimizing code with Code Quality reports.
- You verify your changes with Unit test reports in GitLab CI/CD.
- You avoid using dependencies whose license is not compatible with your project with License Compliance reports.
- You request the approval from your manager.
- Your manager:
- Pushes a commit with their final review.
- Approves the merge request.
- Sets it to merge when pipeline succeeds.
- Your changes get deployed to production with manual actions for GitLab CI/CD.
- Your implementations were successfully shipped to your customer.
For a web developer writing a webpage for your company's website:
- You checkout a new branch and submit a new page through a merge request.
- You gather feedback from your reviewers.
- You preview your changes with Review Apps.
- You request your web designers for their implementation.
- You request the approval from your manager.
- Once approved, your merge request is squashed and merged, and deployed to staging with GitLab Pages.
- Your production team cherry picks the merge commit into production.