> 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/open-source/use-harness-open-source/repositories-1/overview.md).

# Overview

A repository is where your code is stored. When developers make changes to code in a Harness Open Source repository, those changes are tracked with version control. Harness Open Source fosters collaboration and governance with code reviews, approvals, status checks, and more.

## Create a repository <a href="#create-a-repository" id="create-a-repository"></a>

1. In your [project](/open-source/use-harness-open-source/administration-1/project-management.md), select **Repositories**, and then select **New Repository**.
2. Enter a repository **Name** and optional **Description**.
3. Harness Open Source repositories are initialized with a `main` branch, unless you specify a different name for the base branch. To change the base branch name, select **main** and enter a name for the base branch.
4. Select your preference for visibility (**Public** or **Private**).
5. Optionally, you can add a **License**, **.gitignore**, or **README** file to your repository.
6. Select **Create Repository**.

## Import a repository <a href="#import-a-repository" id="import-a-repository"></a>

Harness Open Source can import repositories from external sources such as GitLab or GitHub.

1. In your [project](/open-source/use-harness-open-source/administration-1/project-management.md), select **Repositories**.
2. Select the dropdown next to **New Repository**, and then select **Import Repository**.
3. Enter the **Repository URL**.
4. If the repository is private, select **Requires Authorization** and provide your authorization credentials to access the repository.
5. Enter a repository **Name** and optional **Description**.
6. Select your preference for visibility (**Public** or **Private**).
7. Select **Import Repository**.

## Work with repositories <a href="#work-with-repositories" id="work-with-repositories"></a>

After creating a repository, you can:

* [Clone](/open-source/use-harness-open-source/repositories-1/cloning.md) your repository.
* Create a branch, commit changes, and open a [pull request](/open-source/use-harness-open-source/repositories-1/pull-requests.md).
* Create tags.
* Create [pipelines](/open-source/use-harness-open-source/pipelines-1/overview.md) and configure [webhooks](/open-source/use-harness-open-source/repositories-1/webhooks.md).
