Source code management enables coordination, sharing, and collaboration across an entire software development team. GitLab supports teams to rapidly collaborate and iterate on new features and deliver business value.Try GitLab free
Version control in GitLab helps your development team collaborate and maximize productivity, sparking faster delivery and increased visibility. With its Git-based repository, GitLab enables clear code reviews, asset version control, feedback loops, and powerful branching patterns to help your developers solve problems and ship value. Source code management is a critical part of the DevOps lifecycle, enabling teams to manage their work with a single source of truth.
When a project needs multiple sign-offs, you can require every merge request to be approved before merging. With Required Merge Request Approvals you can set the number of necessary approvals and predefine a list of specific approvers. In turn, guarantee the quality and the standards of your code.Documentation
Make sure the right people review merge requests with approval rules by specifying lists of eligible approvers, the minimum number of approvals for each, and which target branches they protect. This makes it easy to request review from different teams like Engineering, UX and Product.Documentation
When a user opens a merge request from a fork, they are given the option to allow upstream maintainers to collaborate with them on the source branch. This allows the maintainers of the upstream project to make small fixes or rebase branches before merging, reducing the back and forth of accepting community contributions.Documentation
With this setting at the project level, you can ensure that no merge commits are created and all merges are fast-forwarded. When a fast-forward merge is not possible, the user is given the option to rebase.Documentation
Leverage the power of Git Hooks and chain them together to fire off custom scripts when certain actions occur on the repository. If the commit is declined or an error occurs during the Git hook check, the error message of the hook will be present in GitLab’s UI. GitLab supports all types of hooks.Documentation
When browsing through project repositories on GitLab, having direct access to single files is a relevant use case. A ‘Download’ button in the file viewer allows you to download individual files from the GitLab UI.Documentation
Code review is an essential practice of every successful project, and giving your approval once a merge request is in good shape is an important part of the review process, as it clearly communicates the ability to merge the change.Documentation
Assign Code Owners to files to indicate the team members responsible for
code in your project using a
CODEOWNERS file. Code owners are assigned
automatically as merge request approvers, can be set as required and
shown when viewing files.
When creating a new project, you can choose to kickstart your project from a predefined template that already has some working example code and CI preconfigured. In addition, you can define a custom project templates by assigning a group. Child projects of this group are available as templates when creating a new project.Documentation
GitLab is meant to be the best place for any software project. The team behind GitLab is addressing issues that maintainers and contributors to large open source projects are facing, to make it easier to do both.Making GitLab better for large open source projects