> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mesa.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Git Clients

> Mesa repositories are fully compatible with standard Git clients over HTTPS.

Mesa repositories speak standard Git over HTTPS. Any Git client — the `git` CLI, `libgit2`, JGit, CI runners — can
clone, fetch, and push without modification. Under the hood, Mesa's version control is based on
[Jujutsu](https://docs.jj-vcs.dev/latest/), but the Git transport layer handles the translation transparently.

## Quick start

Authenticate with your Mesa API key via HTTP Basic auth:

```bash theme={null}
git clone https://t:${MESA_API_KEY}@api.mesa.dev/acme/my-repo.git
```

Push requires a key with `write` scope. Clone and fetch only need `read`.

## What's supported

* **Clone, fetch, and push** over the Git HTTP smart protocol
* **Branch operations** — create, update, delete, and force-push
* **Signed commits** — GPG signatures round-trip with stable OIDs
* **Incremental fetch** — multi-ack negotiation for efficient pulls

Tags are not supported. Use [bookmarks](/content/concepts/versioning#bookmarks) instead.

## How Git maps to Mesa

When you push to Mesa, Git commits become Mesa changes and branch refs become bookmarks.
When you clone or fetch, Mesa translates them back. Your Git client sees a normal repository.

| Git          | Mesa                                        |
| ------------ | ------------------------------------------- |
| Commit       | Change                                      |
| Branch       | Bookmark                                    |
| Staging area | — (edits go directly to the working change) |

See [Versioning](/content/concepts/versioning) for the full picture.

## Next steps

* [Git Server Reference](/content/reference/git-server) — endpoints, authentication, capabilities, limits, credential helpers, and CI/CD examples
* [Large Files](/content/integrations/git/large-files) — guidance for large repositories and files
* [GitHub](/content/integrations/github/sync) — bidirectional sync with GitHub
