---
title: How to Deploy to Your Sites Using Git
url: "https://pressable.com/knowledgebase/how-deploy-to-your-sites-using-git/"
published: 2019-03-14
modified: 2026-04-01
author: Wayne McWilliams
---

Note: This guide is for our deprecated integration, so may not match what you see for your site.

For our new integration, please see [**this article**](https://pressable.com/knowledgebase/deploy-from-github/).

## What You Need to Start

In order to begin, you will need the following already setup:

- A repository in GitHub for an existing site with a `/wp-content/` directory in its root. Example:
    ![](https://i0.wp.com/pressable.com/wp-content/uploads/2019/03/2022-11-23-11_21_16.png?resize=1251%2C379&ssl=1)
- `plugins/` `mu-plugins/` and/or `themes/` directory inside `/wp-content/`
- The repository in question is hosted at GitHub (More providers will be available in the future).
- The HTTPS URL for the repository you will be deploying from.

 
 Note: In addition to `wp-content/plugins` and `wp-content/themes`, the integration now also supports deploying files from `wp-content/mu-plugins`. This enhancement was introduced on September 2, 2025.

## Getting Your HTTPS URL

Navigate to the repository you are interested in deploying and click on the green “Code” button. Make sure under the clone title you have selected “HTTPS” or that the header says “Clone with HTTPS” before copying the HTTPS URL.

![Github clone tab with HTTPs url selected](https://i0.wp.com/pressable.com/wp-content/uploads/2019/03/Screen-Shot-2022-01-31-at-4.59.28-PM.png?resize=806%2C668&ssl=1)## Connecting to Pressable

Navigate to your https://my.pressable.com dashboard. [Create a new site](https://pressable.com/knowledgebase/adding-new-site-to-pressable/) or select an existing site you want to connect. Click on the **GitHub Integration** tab from the single site page:

![](https://i0.wp.com/pressable.com/wp-content/uploads/2019/03/git-old1.jpg?resize=1024%2C436&ssl=1)
 
 Paste the URL you copied from GitHub into the field and click **Set Repository URL** to connect. You can choose which folders to include in each deployment, and toggle whether files should be deleted from those folders if they no longer exist in your repository.

## Authorizing

The page will refresh, and you will need to click **Authorize** to authorize Pressable to interact with this repository:

![](https://i0.wp.com/pressable.com/wp-content/uploads/2023/11/authorize-site-git-integration.png?resize=1013%2C332&ssl=1)

Once you click “Authorize,” you will be prompted to log in to GitHub and authorize this interaction.

![Github authorization](https://i0.wp.com/pressable.com/wp-content/uploads/2019/03/github_authorize_integration.png?resize=524%2C620&ssl=1)## Selecting the Branch

After you have authorized the application, you’ll be returned to your MyPressable Dashboard, and you will now have the ability to select a branch from your repository. This is the branch that you want to deploy to Pressable servers for the site you are configuring.

![](https://i0.wp.com/pressable.com/wp-content/uploads/2019/03/git-old2.jpg?resize=1024%2C130&ssl=1)
 
 

As soon as you set a branch, you’ll want to configure the branch settings below.

## Branch Settings

The branch settings allow you the flexibility to choose if you wish to synchronize your plugins, mu-plugins, and/or themes directories.

![](https://i0.wp.com/pressable.com/wp-content/uploads/2019/03/git-old3.jpg?resize=1024%2C149&ssl=1)
 
 Additionally, you can decide whether to delete theme files and/or plugin files that are not present in the depository.

Once your preferred settings are toggled, click the **Set and Deploy** button. Going forward, anytime you push to the specified branch, we will receive notice and automatically deploy the changes to your site.

You can monitor the status of your deployments on the **GitHub History** section underneath the integration settings:

![](https://i0.wp.com/pressable.com/wp-content/uploads/2019/03/git-old4.jpg?resize=1024%2C186&ssl=1)
 
 ## How Deployments Work

When changes are pushed to the configured branch, GitHub sends a webhook to Pressable. Our deployment process clones the repository and uses `rsync` to sync changes into the correct WordPress directories:

- `wp-content/themes/`
- `wp-content/plugins/`
- `wp-content/mu-plugins/`

All repositories, whether public or private, can be used. Existing OAuth authorization and webhook handling continue to work without modification. If GitHub integration is revoked, connections and deployments for all directories (themes, plugins, mu-plugins) are also removed.

## Organizations & third-party application access policy

If you are attempting to connect Git with a private repository under an organization, or have multiple organizations under your account, then you’ll want to make sure that the proper settings are set. If you are experiencing issues with Git connecting to the wrong organizations or not allowing you to select a branch, then you’ll want to follow the steps below:

1. Access the main GitHub account settings [here](https://github.com/settings/profile).
2. Under `Integrations` click on `Applications`
3. Then click on the `Authorized OAuth Apps` tab
4. Under Organization Access you’ll see Organization access with all of your organizations listed.
    ![](https://i0.wp.com/pressable.com/wp-content/uploads/2024/04/007696.png?ssl=1)
5. Clicking on the **Grant** button next to the corresponding organization will enable connection to any private repo under that organization. More info can also be found [here.](https://docs.github.com/en/organizations/managing-oauth-access-to-your-organizations-data/approving-oauth-apps-for-your-organization)

## Restrictions

- We currently do not pull down WordPress Core files or the `/wp-content/uploads` directory.
- **Unless enabled in Branch Settings** for theme, plugin, and mu-plugin directories, Git deploys currently do not delete files from the site when it syncs. Only file additions or changes are deployed.