> For the complete documentation index, see [llms.txt](https://developer.harness.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.harness.io/code-repository/3.0/new-to-harness-code/overview.md).

# Overview & Key Concepts

Harness Code Repository is a source code management (SCM) tool. It provides Git-based repositories, code reviews, checks, and rule enforcement. You can use it across your Harness software delivery workflows.

This overview introduces the Git concepts behind Harness Code Repository. It also explains how repositories integrate with Harness projects, pipelines, and access control.

### What you will learn from this topic

This topic covers the following concepts:

* **Source code management:** How SCM adds collaboration controls to Git history.
* **Git fundamentals:** How cloning, branching, committing, merging, and tagging work.
* **Pull requests:** How you package commits for review, approval, and merging.
* **Platform integration:** How repositories relate to projects, pipelines, and role-based access control.

### Source code management

Source code management tracks and coordinates changes to a codebase. It is also called version control or source control. Version control keeps a change history and helps resolve conflicts when several people edit one file.

Harness Code Repository adds peer review, approval, and rollback capabilities to that history. Go to [version control](https://en.wikipedia.org/wiki/Version_control) to review the concept.

#### Git concepts

Harness Code Repository uses Git-based repositories. Git is a version control system built around cloning, branching, committing, merging, and tagging.

Go to the [Git SCM documentation](https://git-scm.com/doc) to learn Git fundamentals.

#### Pull requests

A pull request is an SCM feature, not a Git feature. It groups commits so reviewers can inspect, approve, and merge changes into a base branch.

You can assign pull request reviewers. You can also configure requirements and checks that must pass before merging. Go to [Rules](/code-repository/use-harness-code/manage-repositories/rules.md) to configure merge requirements.

### Harness Platform integration

Harness Code Repository shares core components with Harness Platform. It also integrates with other Harness modules. Go to [Harness key concepts](/harness-ai/new-to-harness-platform/overview.md) to understand Harness Platform terminology.

#### Pipelines

A pipeline is an end-to-end workflow. It can pull code, build an artifact, run tests, and deploy the artifact.

Use [triggers](/code-repository/use-harness-code/run-pipelines/code-triggers.md) to run Harness pipelines after push events in your Harness Code repositories.

Review pipeline concepts for the modules you use:

* [CI key concepts](/continuous-integration/new-to-harness-ci/key-concepts.md): Build and test pipeline concepts.
* [CD key concepts](/continuous-delivery/new-to-continuous-delivery/overview.md#key-concepts): Deployment pipeline concepts.

#### Projects

Every repository belongs to a [Harness project](/harness-ai/new-to-harness-platform/overview.md#organizations-and-projects). The project boundary provides the first layer of repository access control.

#### Access control

Harness Code Repository access control uses [Harness Platform role-based access control (RBAC)](/harness-ai/use-harness-platform/platform-access-control.md). The **Repository** resource supports these permissions:

* **View:** Read repository contents.
* **Review:** Review pull requests.
* **Edit:** Change repository configuration and settings.
* **Create:** Create repositories within the scope.
* **Delete:** Delete repositories.
* **Push:** Push commits to repositories.
* **Report Commit Check:** Publish a commit status check to a repository.

Go to the [permissions reference](/harness-ai/use-harness-platform/platform-access-control/permissions-reference.md#code-repository) to review permission identifiers. Go to [Manage roles](/harness-ai/use-harness-platform/platform-access-control/add-manage-roles.md) to assign permissions.

Harness Code Repository includes the built-in **Code Admin** role.

### Related concepts

Use these resources to continue with Harness Code Repository:

* [Get started with Harness Code](/code-repository/new-to-harness-code/onboarding-guide.md): Set up repositories, access, and pipelines.
* [Supported features and functionality](/code-repository/troubleshooting-and-resources/code-supported.md): Review supported Harness Code Repository features.
* [Harness Code API reference](https://apidocs.harness.io/repository): Automate repository management.
