The easiest way to work together with other users on a GitLab project is to grant users direct push access to the repository. To do this, add the users to a project as explained above and provide them with the appropriate access rights.
Users with “developer” authorization or higher can move their commits and branches to the repository without restrictions. Alternatively, you can also use merge requests, which allow you to control access more closely since the master branch is not edited directly. Instead, users can create branches, enter their commits and then make a merge request to connect the branch to the master (or another branch).
Users without access rights can also create forks, meaning they can edit their own copy of the project with pushed commits. They can then submit a merge request to reintegrate the fork into the main project. With this feature, the project owner has full control over what goes into the repository, but he or she can also allow unknown users to make contributions.