> 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

Harness Code Repository is a source code management (SCM) tool that provides Git-based repositories with code reviews, checks, and rule enforcement, and integrates those repositories across your Harness software delivery workflows.

This topic introduces the Git concepts that Harness Code Repository builds on, and explains how repositories relate to Harness projects, pipelines, and access control.

***

### What will you learn in this topic? <a href="#what-you-will-learn" id="what-you-will-learn"></a>

By the end of this topic, you will be able to:

* [Describe source code management](#source-code-management) and what an SCM tool adds beyond Git itself.
* [Identify the Git concepts](#git-concepts) that Harness Code repositories are built on.
* [Explain how pull requests](#pull-requests) package commits for review, approval, and merge.
* [Relate repositories](#harness-platform-integration) to Harness projects, pipelines, and role-based access control.

***

### Before you begin

* **Harness account access:** You can sign in to a Harness account. For more information, see [Get started with Harness Platform](/harness-ai/new-to-harness-platform/get-started.md).
* **Git familiarity (optional):** Cloning, branching, and committing are useful background for this topic, but they are not required. For more information, see the [Git SCM documentation](https://git-scm.com/doc).

***

### Source code management

Source code management gives your team a shared, auditable history of every change to a codebase, so that several people can work on the same files without losing work.

Source code management is also called [version control](https://en.wikipedia.org/wiki/Version_control) or source control. Version control keeps a change history, resolves conflicts when several people edit one file, and stages changes for future releases. Harness Code Repository adds peer review, approval, and rollback capabilities on top of that history.

#### Git concepts

Harness Code Repository uses Git-based repositories, so the everyday operations you perform are standard Git operations.

Git is a version control system built around cloning, branching, committing, merging, and tagging. For more information on these fundamentals, see the [Git SCM documentation](https://git-scm.com/doc).

#### Pull requests

Pull requests are how a change moves from an individual branch into your shared codebase with review and approval attached.

A pull request is an SCM feature, not a Git feature. It groups commits so that reviewers can inspect, approve, and merge changes into a base branch. You can assign reviewers to a pull request, and you can configure requirements and checks that must pass before the pull request can merge. For more information on configuring merge requirements, see [Enable Rules](/code-repository/3.0/use-harness-code/manage-repositories/rules.md).

***

### Harness Platform integration

Repositories are not isolated in Harness Code Repository. They share the Harness Platform components that govern entire Harness, which lets your code drive pipelines and inherit your access policies.

For more information on Harness Platform terminology, see [Harness key concepts](/harness-platform/3.0/in-harness-3.0/overview.md).

#### Pipelines

Pipelines turn a commit in a repository into a build, test, and deployment sequence without manual handoffs.

A pipeline is an end-to-end workflow that can pull code from a codebase, build an artifact, run tests or other actions against that artifact or code, and then upload or deploy the artifact. You can use [triggers](/code-repository/3.0/use-harness-code/run-pipelines/code-triggers.md) to run Harness pipelines in response to push events in your Harness Code repositories.

Review pipeline concepts for the features you use:

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

#### Projects

The project is the boundary that determines which repositories a team can see at all.

Every repository you create in Harness Code 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 access control for your repositories.

#### Access control

Access control determines which users can read, review, change, and push to each repository.

Harness Code Repository access control is part of [Harness Platform role-based access control (RBAC)](/harness-platform/3.0/harness-platform-resources/platform-access-control.md). The **Repository** resource supports the following 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.

For the permission identifiers, see the [permissions reference](/harness-platform/3.0/harness-platform-resources/platform-access-control/permissions-reference.md#code-repository). To assign these permissions, see [Manage roles](/harness-platform/3.0/harness-platform-resources/platform-access-control/add-manage-roles.md).

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

***

### Next steps <a href="#related-concepts" id="related-concepts"></a>

Now that you understand the key concepts, you are ready to start using Harness Code Repository.

* [Get Started](/code-repository/3.0/new-to-harness-code/onboarding-guide.md): Set up repositories, access, and pipelines.
* [What's Supported for Harness Code Repository](/code-repository/3.0/new-to-harness-code/code-supported.md): Review the features that Harness Code Repository supports today.
* [Harness Code API reference](https://apidocs.harness.io/repository): Automate repository management.

{% @harness-feedback/feedback %}
