# Connect your Git provider

> Which Git hosts AI CodeOps works with (GitHub, GitLab, Bitbucket, Gitea and Forgejo), how each one connects, and what the platform does in your repositories.

Source: https://aicodeops.dev/docs/git

AI CodeOps works on your code where it already lives. You connect a Git account once, from **Configure → Settings → Git Providers** in your workspace. After that, a session clones the project's repository, writes its change on a new branch and opens a pull request (a merge request on GitLab) for a person to review. Nothing merges without that review.

## Pick your provider

| Provider  | Hosting                                                        | How it connects                                   | Guide                                    |
| --------- | -------------------------------------------------------------- | ------------------------------------------------- | ---------------------------------------- |
| GitHub    | GitHub.com (not GitHub Enterprise Server)                      | OAuth, or a personal access token                 | [Connect GitHub](https://aicodeops.dev/docs/git/github)       |
| GitLab    | GitLab.com or a self-managed instance                          | OAuth, or a personal access token                 | [Connect GitLab](https://aicodeops.dev/docs/git/gitlab)       |
| Bitbucket | Bitbucket Cloud (not Server or Data Center)                    | OAuth (recommended), or a token with limits       | [Connect Bitbucket](https://aicodeops.dev/docs/git/bitbucket) |
| Gitea     | A Gitea server you run                                         | A personal access token and your server's address | [Connect Gitea](https://aicodeops.dev/docs/git/gitea)         |
| Forgejo   | Your own Forgejo server, or a public instance such as Codeberg | A personal access token and the server's address  | [Connect Forgejo](https://aicodeops.dev/docs/git/forgejo)     |

[Git permissions and scopes](https://aicodeops.dev/docs/git/permissions-and-scopes) lists every OAuth scope and token permission AI CodeOps asks for on each host, what it is used for, and how to revoke access.

## What the platform does in your repositories

- **Clones** the repository of the project a session works on.
- **Pushes a new branch** with the session's change. It never pushes to your default branch.
- **Opens a pull request** on that branch. It doesn't merge on its own: a person merges it, from the console or on your Git host.

It doesn't register webhooks, post commit statuses or comment on your pull requests.

## Servers you run

AI CodeOps runs in the cloud, so a self-managed GitLab, Gitea or Forgejo server needs a public **https** address it can reach over the internet. Addresses on private networks, `localhost` and `.local` or `.internal` names are refused.

## Next steps

1. Connect your provider using its guide above.
2. [Create a project](https://aicodeops.dev/docs/projects) that points at a repository.
3. [Start a session](https://aicodeops.dev/docs/sessions) on that project.
