Authorization for Merge requests
There are two main ways to have a merge request flow with GitLab:
- Working with protected branches in a single repository.
- Working with forks of an authoritative project.
Protected branch flow
With the protected branch flow everybody works within the same GitLab project.
The project maintainers get Maintainer access and the regular developers get Developer access.
The maintainers mark the authoritative branches as ‘Protected’.
The developers push feature branches to the project and create merge requests to have their feature branches reviewed and merged into one of the protected branches.
By default, only users with Maintainer access can merge changes into a protected branch.
Advantages
- Fewer projects means less clutter.
- Developers need to consider only one remote repository.
Disadvantages
- Manual setup of protected branch required for each new project
Forking workflow
With the forking workflow the maintainers get Maintainer access and the regular developers get Reporter access to the authoritative repository, which prohibits them from pushing any changes to it.
Developers create forks of the authoritative project and push their feature branches to their own forks.
To get their changes into master they need to create a merge request across forks.
Advantages
- In an appropriately configured GitLab group, new projects automatically get the required access restrictions for regular developers: fewer manual steps to configure authorization for new projects.
Disadvantages
- The project need to keep their forks up to date, which requires more advanced Git skills (managing multiple remotes).
Help and feedback
If there's something you don't like about this feature
To propose functionality that GitLab does not yet offer
To further help GitLab in shaping new features
If you didn't find what you were looking for
If you want help with something very specific to your use case, and can use some community support
POST ON GITLAB FORUM
If you have problems setting up or using this feature (depending on your GitLab subscription)
REQUEST SUPPORT
To view all GitLab tiers and features or to upgrade
If you want to try all features available in GitLab.com
If you want to try all features available in GitLab self-managed
If you spot an error or a need for improvement and would like to fix it yourself in a merge request
EDIT THIS PAGE
If you would like to suggest an improvement to this doc