# Connect GitHub

Give Nuvlo access to your GitHub repositories, so you can deploy sites and apps from them and update them automatically on every push.

## Before you start

- A GitHub account with access to the repositories you want to deploy.
- Permission to manage integrations in your Nuvlo account. See [Roles and permissions](https://app.nuvlo.dev/docs/roles-and-permissions).
- Pop-ups allowed for the Nuvlo dashboard in your browser.

## Step 1: Open Git providers

Open [Git providers](https://app.nuvlo.dev/dashboard/integrations/git) from the Integrations section of the dashboard. The card **Repository access** shows GitHub, GitLab and Bitbucket, each marked **Connected** or **Not connected**.

GitLab and Bitbucket can be connected, but deploying from them isn't available yet.

![The Git providers page with the GitHub, GitLab and Bitbucket tiles and their connection status](https://app.nuvlo.dev/docs/shots/connect-git--providers.webp)

## Step 2: Start the connection

Click the **GitHub** tile, then click **Connect GitHub**. A small window opens at GitHub.

If nothing opens, your browser blocked the window. Nuvlo shows **The sign-in window was blocked. Allow pop-ups for this site and try again.** Allow pop-ups and click the button again.

## Step 3: Authorize Nuvlo at GitHub

Sign in to GitHub if asked and approve the request. Nuvlo asks for access to your repositories, including private ones, and your basic profile. It needs the repository access to read the code, add a read-only deploy key to each repository you deploy, and add the webhook that deploys on push.

The window closes by itself when GitHub sends you back.

## Step 4: Check the connection

The GitHub tile now shows **Connected** and the button reads **Reconnect GitHub**. Your repositories appear when you create a site.

The connection belongs to the Nuvlo account you are working in, so everyone on the team with access to sites can deploy from it.

![The GitHub tile marked Connected with the Reconnect GitHub button below](https://app.nuvlo.dev/docs/shots/connect-git--connected.webp)

## Use a personal access token instead

If you prefer not to use the sign-in window, click **Use a token instead** next to the button. Create a token in your GitHub developer settings, paste it into **GitHub personal access token** and click **Save token**. Nuvlo checks the token with GitHub before saving it.

The token needs the same access as the sign-in: it must be able to read the repositories you deploy and manage their webhooks and deploy keys.

![The token form open, with the token field and the Save token button](https://app.nuvlo.dev/docs/shots/connect-git--token.webp)

## Good to know

You can also connect GitHub while creating a site: the setup shows **Connect GitHub** (static and PHP sites) or **Connect account** (Node.js apps) when no account is connected.

Click **Reconnect GitHub** if repositories are missing, for example after you gave GitHub access to a new organization.

---
Source: https://app.nuvlo.dev/docs/connect-git
