Chapter 18 Managing a GitLab Project
18.3 User Management
Many projects that use Git and GitLab have several collaborators, and simple projects, it is not uncommon for all collaborators to push directly to the master branch. To directly push to the master branch of a git repo, users must have the necessary credentials. But even in more complex projects, where edits work through pull requests rather than by directly pushing to the master branch, you will usually want to manage who can do what.
In GitLab, you do this in the Members section of the Settings menu (in the left-hand navigation bar, click (or hover over) “Settings”; then in the submenu, click “Members”. You can not invite members by looking for their GitLab username or the email address associated to their account.
GitLab has five roles: Guest, Reporter, Developer, Maintainer, and Owner. Maintainers and Owners are almost the same: they have all rights. Therefore, only bestow this role upon users who know what they’re doing, or who are sufficiently careful (or nervous) to not accidently destroy things. Developers are for people who you want to be able to push directly to protected branches, such as the master branch. Reporters can manage issues but have to work through merge requests. Guests can basically only look around. For more information, see https://docs.gitlab.com/ee/user/permissions.htmlhttps://docs.gitlab.com/ee/user/permissions.html.