-
Mark HOEBEKE authoredfb5e413d
Team Collaboration in GitLab
Project Roles
GitLab has a predefined set of roles with different permissions. To summarize:
- Project Owner: the person who created the project. Has all the rights on the project (repository and associated functionality)
- Project Maintainer: about the same as the Project Owner, but cannot change or remove the global project settings.
- Developer: has read access to all the project's content, and can use the repository and the issue related functionalities.
- Reporter: has mostly read access to the repository, but can also submit merge requests or issues.
- Guest: mainly read access to the repository and othe project pages, but can also submit issues.
When working on a small-sized project, apart from the owner, the other members will have the developer role. If there is a significant and tech-savvy user community, the can be assigned a reporter role. The project owner (and maintainers) have the permission to manage membership. It is up to them to assign roles to every newly accepted user.
The project member management page is accessed through the Members item of the Project Information entry on the left panel.
Branch Protection
GitLab allows the project owner to restrict who can push to a branch or delete a branch, using the branch protection features. By default, the master
branch is protected. So only members of the Maintainers group can push or merge into this branch.
For medium to large size projects, it may be useful to protect other branches as well. For small projects, it may be unnecessary to protect the master
branch.
Branch protection settings can be accesed from the left panel, using the Settings menu and the Repository entry and then expanding the Protected Branches
section.