---
title: "Git Providers and Integrations"
description: "Connect GitHub or Azure DevOps in OVERRIDE and choose a project's source-control provider."
permalink: /docs/get-started/create-a-project/git-providers-and-integrations/
---
# Git Providers and Integrations

A project's **version-control mode** determines how developers work with drafts and branches in OXIDE. Its **Git provider** determines where the source repository is hosted. You can use JourneyApps-hosted source or connect GitHub or Azure DevOps to the organization.

For the underlying model, see [Source control modes](/docs/concepts/projects/source-and-versions/).

## Create a GitHub or Azure DevOps Integration

An integration belongs to the JourneyApps Organization. Configure it before choosing an external repository for a project.

1. Open the organization in OVERRIDE and select **Integrations**.
2. Select **Create integration**.
3. Choose **GitHub** or **Azure DevOps**.
4. Complete the provider's authorization and setup flow.
5. Return to OVERRIDE's Integrations page and inspect the connection.

![The Integrations page with the Create integration menu open, offering GitHub and Azure DevOps.](./media/override-source-control-integrations.png)

Creating or deleting an integration requires the corresponding organization permissions. Only connected integrations are offered when configuring a project's Git provider.

## GitHub

In the GitHub setup flow, select the organization or account that will own the repositories and authorize the JourneyApps GitHub application for the required repositories. Complete any approval requested by the GitHub organization before using the connection.

When setup completes, OVERRIDE lists the integration. You can then select that account when creating a project.

### Select a GitHub Repository

In the project's **Git provider** form:

1. Select **GitHub**.
2. Select the **GitHub organization / account**.
3. To create a repository, leave **Existing repo** off and enter a **Repository** name.
4. To use an existing repository, turn **Existing repo** on and select the repository from the list.
5. Complete the project-creation action.

If your GitHub account or integration cannot create a repository, create an empty repository in GitHub, grant the integration access, and select it with **Existing repo**.

The repository list contains repositories available through the selected integration. If the repository is missing, check that the integration has access to it and belongs to the same JourneyApps Organization as the project.

## Azure DevOps

Complete the Azure DevOps authorization flow and select the Azure organization and project for the integration. Azure Repos is the repository service within Azure DevOps; the integration connects the organization/project, and the project's Git provider selects a repository within it.

### Select an Azure Repository

In the project's **Git provider** form:

1. Select **Azure Repos**.
2. Select the **Azure organization** and **Azure project**.
3. Enter a new **Repository** name, or turn **Existing repo** on and select an existing repository.
4. Complete the project-creation action.

If the Azure organization or project is absent, finish its integration setup in OVERRIDE before reopening the Git provider form.

## New Projects

During [project creation](/docs/get-started/create-a-project/), choose **Simple** or **Advanced** under Version control, then select the hosting provider under Git provider.

Advanced mode provides separate drafts and branch workflows. An external provider is a separate choice: selecting Advanced does not automatically move the source to GitHub or Azure Repos.

## Existing Projects

Open the project in OVERRIDE and use its action menu:

- **Switch to advanced source control** changes the development workflow to Advanced.
- **Switch to simple source control** changes it to Simple.

These actions require permission to update the project. Coordinate source-control changes with the team, finish or preserve active work, and verify that OXIDE can access the intended source after the change.

To move an existing project's source to another provider or repository, contact JourneyApps to arrange the source transfer. Changing the version-control mode does not move its repository. Preserve active work and confirm the destination repository before a transfer.

## Troubleshooting

| Symptom | Check |
| --- | --- |
| **Setup: Not completed** on an integration | Finish the provider authorization/approval flow. |
| **Configuration: Not completed** | Complete the provider-specific organization or project selection. |
| Account or project missing from the Git provider form | The connection must be complete and belong to this JourneyApps Organization. Reopen the form after completing setup. |
| Repository missing | The selected connection must have access to that repository. |
| A push or branch operation is rejected | Inspect the provider's repository permissions and branch rules, then use the required review/merge workflow. |

An integration's repository access and the project's OXIDE permissions both matter. Granting access to one does not replace configuration of the other.
