Menu

GitLab Source Code Management (SCM)

A single space for storing and jointly developing code: Git repositories, branching, code reviews, and merge rules. Helps keep change history transparent and quality manageable.

GitLab Source Code Management (SCM) is the foundation of the GitLab platform, combining source code storage and teamwork around changes. It is based on Git repositories with familiar branching, tags, and history, as well as tools that turn “simple commits” into a manageable development process.

The key mechanism for collaboration is the merge request: a single point where the team reviews changes, discusses details, leaves comments, tracks progress, and records merge decisions. This approach helps to maintain context: why the change was made, who reviewed it, what comments were taken into account, and when the decision was made.

To protect quality and stability, GitLab SCM supports access policies and rules for branches. You can restrict direct pushes to critical branches, configure mandatory checks, and require changes to be approved by responsible participants (for example, through code owner mechanisms). As a result, the team reduces the risk of accidental edits, gets a repeatable review process, and more easily complies with internal standards.

SCM works especially well in conjunction with GitLab CI/CD (automatic checks and builds with every change) and GitLab Security & Compliance (security right in the development process).

Key features

  • Git repositories: code storage, branching, tags, and change history in one place.
  • Merge requests (MR): centralized code review, discussions, decision-making, and merge transparency.
  • Link to tasks: linking MRs to tasks, clear context of “why” and “what we are changing.”
  • Branch policies: restricting push/merge rights, controlling critical branches.
  • CODEOWNERS and mandatory approvals: review requirements from those responsible for code sections.
  • Templates and standards: uniform MR/Issue descriptions, formatting rules, and team agreements.
  • Traceability: who made the changes and when, who checked that they were agreed upon.
  • Unified platform: fewer disparate tools and less loss of context between them.