Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
25 Million+
Websites using our plugins
Years of WordPress experience
WordPress tutorials
by experts

Beginner’s Guide to Using Git with WordPress

Editorial Note: We earn a commission from partner links on WPBeginner. Commissions do not affect our editors' opinions or evaluations. Learn more about Editorial Process.

Are you looking to use Git and integrate GitHub with your WordPress website?

Git and GitHub are essential tools for developers who want to keep track of changes in the code, manage different coding projects, and work with a team on the same code. You can also recover a stable version of your code in case something goes wrong during the development process.

In this article, we will explain everything about using Git with WordPress.

Beginners guide to using Git with WordPress

Here’s an overview of everything we will cover in this guide. You can click the links below to jump ahead to any section:

What is Git?

Git, short for global information tracker, is a distributed version control system that helps track changes in different computer files or coding projects. These projects are stored in what’s called a repository (or repo), which is essentially the parent folder Git uses for storing all of the files.

Git mainly used by developers working on different software development tasks. With Git, multiple people can simply make a clone of the main repository that contains the original code.

They can then make modifications on their own computer without having to access or edit the main repository. When they have made their changes and are ready to submit them, many users will upload them to a service like GitHub that helps organize teams’ various repositories.

Git vs GitHub – What’s the Difference?

When discussing git, one of the most-asked questions is what’s the difference between Git and GitHub.

Often, beginners and new site owners think Git and GitHub are the same thing. However, there is a difference between the two.

Git is the actual version control system that lets you track changes in your code and create and sort it into something called repositories. GitHub, then, is a web hosting platform for storing Git repositories for easy team access.

You can use Git independently, keeping everything organized on a local machine, but you cannot use GitHub without Git.

Besides that, there are many other Git hosting platforms, such as Launchpad, Assembla, and Bitbucket. But the most popular is GitHub, which offers additional features on top of Git.

GitHub is more suitable for companies and remote teams that have multiple people working on the same project. It has a user-friendly interface and powerful features that make it a great tool for collaborations.

Plus, it stores everything on the cloud so you don’t have to worry about losing your data in case your local machine gets damaged or stolen.

That said, let’s see some situations where you’d want to use Git and GitHub for WordPress development.

How to Use Git and GitHub for WordPress Development

The 2 main reasons for using Git and GitHub are for WordPress theme and plugin development.

For instance, if you’re creating a new theme or using a custom-built theme for your site, then GitHub is perfect for managing the codebase of your project.

You can simply fetch the theme repository from GitHub, make changes, and then test the theme on a local server. Once the changes are made, you can push the updated repo to GitHub and then apply changes to the theme on your live WordPress site.

Similarly, if you’re a WordPress developer who creates plugins, then you can use GitHub to manage the codebase.

It’s also great for open-source projects where anyone is welcome to contribute towards developing a WordPress plugin. For example, you can get the plugin files from GitHub to fix bugs or work on improving a feature.

Make contributions to plugin development on GitHub

Aside from that, you can use GitHub and Git to download and install WordPress plugins and themes on your live website. While GitHub does allow file storage and downloading, it is not set up to be used as file storage in the same way Dropbox or Google Drive is.

Now, let’s see how you can use Git and GitHub both for WordPress development. For this tutorial, we will show you how to make changes to a local plugin file and upload it to GitHub.

Setting Up a Local WordPress Environment for Git

Before using Git and GitHub, it’s a best practice to create a local WordPress environment. This is where you can work on your project, make changes to a WordPress site, try your new code, and test plugin and theme development.

Having a local environment ensures that your live website is not affected by the changes until you deploy them. In case anything goes wrong, you can make changes and debug the code on your local website.

To get started, you can use local web software that lets you host local sites on your computer instead of a staging or live server.

For example, software like Local WP (previously known as Local by Flywheel), MAMP, XAMPP, and WampServer are great for creating local environments. They’re free to use and very easy to set up.

Login to your local WordPress website

You can learn more by following our guides on how to install WordPress on a Windows computer and how to install WordPress locally on a Mac.

Installing Git Locally and Creating a Repository

Once your local environment is ready, the next step is to download and install Git on your computer.

But before you do that, it’s important to check whether Git is already installed on your machine or not. That’s because the latest macOS and Linux devices have Git pre-installed.

To start, simply enter the git -version command in the ‘Terminal’ on any Mac or Linux machine. On a Windows device, you can open the Command Prompt and type the git version command.

If Git is pre-installed, then you should see Git’s version number. If it’s not already installed, then you will see nothing or get an unknown command error. This means you’ll have to install Git on your machine.

First, you’ll need to visit the Git website and head to the ‘Downloads’ section.

Git website

On the next screen, you will find links for Mac, Windows, and Linux/Unix.

Go ahead and click on the link for your device’s operating system to download Git.

Select your operating system for git

After downloading Git from the website, you can launch the installation wizard.

From here, click the ‘Next’ button and simply follow the onscreen instructions to complete the installation process.

Installing git

Once the installation is complete, you can launch Git.

After that, simply type git version to verify that the software is installed correctly.

Check git version

Now that Git is ready to use on your system, the next step is to create a local Git repository where you can commit changes to your WordPress site files before pushing them to GitHub.

To start, navigate to the local website files on your computer. From here, locate the ‘wp-content’ folder and then go to the plugin or theme folder you are working on. Now, right-click anywhere inside the folder and click the ‘Open Git Bash Here’ option.

Click open with git bash

This will open the Git software on your computer.

From here, simply type the following command and hit the Enter or Return key on your keyboard.

git init
Enter git init command

After that, you will need to type the following command to stage file changes.

git add .

Once that’s done, hit Enter or Return.

Enter git add command

Next, you can add a message to your repo by typing the following command.

git commit -m “message”

Don’t forget to replace the message with any text you like. This is a way of leaving notes regarding the specific changes you have made in the repo.

Add commit message

Once that’s done, simply hit the Enter or Return button from your keyboard.

You should now see a hidden ‘.git’ folder in your local WordPress theme files.

View hidden git folder

Creating GitHub Repository and Commit Changes

Next, you can head to the GitHub website and sign up for a free account.

To start, simply enter your email address and click the ‘Sign up for GitHub’ button.

Sign up for a GitHub account

On the next screen, you will need to enter details to create a new account.

For instance, create a password, enter a username, and check your email preferences.

Enter details to create a GitHub account

If you scroll down, then GitHub will ask you to solve a puzzle to verify your account.

It’s similar to having reCAPTCHA on your site.

Verify your GitHub account

Once your account is ready, you will see the GitHub dashboard.

Go ahead and click the ‘+’ sign at the top and select the ‘New repository’ optin.

Create a new repo in GitHub

After that, you can enter a name for your repository.

There are also options to add a description and make the repository public or keep it private.

Enter a name for new repo

If you scroll down, then you’ll see more options, like adding a README file and choosing a license.

Once you’ve entered all the details, click the ‘Create repository’ button.

Click the create repo button

After creating the repository, you’ll need to copy its URL.

You can find the link under the Quick Setup section.

Copy repo link under quick setup

Next, you will need to open Git Bash on your computer.

From here, simply enter the following command and press Enter or Return.

git remote add origin URL

Don’t forget to replace the URL with your repository’s link.

Enter remote add origin command

After that, you can type the following command.

git push -u origin main

This will send the local repository to the remote repository on GitHub.

Enter git push command

Next, you may be asked to connect your GitHub account if it is not already connected with Git. Simply sign in to your account and authorize Git to connect.

Now, you can open the GitHub repository and see the local files you just edited.

View local files in GitHub repo

After pushing the local files to GitHub, other users can edit the file and make further changes to the plugin or theme.

If you need to fetch these updates from a GitHub repository for your local website setup, then you’ll need to open the plugin folder on your computer, right-click anywhere, and open Git Bash.

Next, you can type the following command and press the Enter or Return key.

git fetch URL

Don’t forget to replace the URL with the link to the GitHub repository.

You can now repeat these steps to start WordPress development using Git and GitHub.

Once you’ve made the changes to the local files, the next step is to push them to the live site.

Deploy GitHub Themes and Plugins to a Live WordPress Site

After you’ve completed developing a WordPress plugin or theme, the last step is to deploy it on your live website.

Now, you can use Git and run different commands to push your changes to the WordPress website. However, there is an easier way by using a WordPress Github plugin like WP Pusher.

First, you’ll need to visit the WP Pusher website and click the ‘Download’ button.

WP Pusher website

Next, download the WP Pusher plugin files and save them on your computer.

After that, go ahead and install and activate the WP Pusher plugin. If you need help, then please see our guide on how to install a WordPress plugin.

Upon activation, you can head to WP Pusher from the WordPress dashboard and switch to the ‘GitHub’ tab.

Obtain GitHub token

Next, a new popup window will open, asking you to allow WP Pusher to connect with your GitHub account.

Simply click the ‘Authorize wppusher’ button to continue.

Authorize wp pusher

From here, you’ll need to login to your GitHub account.

Once that’s done, simply copy the GitHub token on the next screen.

Copy the GitHub token

Now, go to WP Pusher GitHub settings and then enter the token code.

Don’t forget to click the ‘Save GitHub token’ button.

Save GitHub token

Once GitHub is connected, you can install any themes or plugins that you’ve uploaded to GitHub from the repository onto your live WordPress website.

For example, head to WP Pusher » Install Plugin in the WordPress admin panel and enter the plugin repository URL.

Enter plugin repo

Or you can click the ‘Pick from GitHub’ button, and a new popup window will open.

From here, simply copy the link to your plugin repository.

Copy the link for plugin repo

After entering the GitHub repo URL, you can enter other details like repository branch and subdirectory.

Next, you’ll need to scroll down and click the ‘Install plugin’ button at the bottom.

Click install plugin button

Once the plugin installs, you’ll need to activate it.

To do that, simply go to Plugins » Installed Plugins and navigate to the plugin you just installed. From here, you can click the ‘Activate’ button.

Activate a plugin

You can now start using the installed plugin on your website.

Similarly, you can head to Install Theme under WP Pusher in your WordPress dashboard to set up a custom theme you’ve developed using this same process.

Install WordPress Plugins and Themes from GitHub

Apart from integrating WordPress with Git and GitHub for development, you can also get plugin and theme files that are no longer available in the library.

WordPress developers usually create GitHub repositories for their plugins and themes. You can often easily find them on GitHub if they’re unavailable in WordPress’s plugin and theme library.

Simply open GitHub and search for the plugin or theme you want to install. After that, you can click the ‘Code’ button and select the ‘Download ZIP’ option.

Download zip file for plugin

This way, you can download the plugin files and install them on your website.

For more details, please see our guide on how to install WordPress plugins and themes from GitHub.

Important Git and GitHub Terms You Should Know

You’ll come across different Git and GitHub terminologies as you start to use them for WordPress development and other purposes. To help you out, here are some important terms you should know:

  • Branches – A branch is like a parallel repository that you can create. It lets you make changes and work freely without affecting the main branch or disrupting the live version.
  • Merge – When you want to take changes from one branch and apply them to another branch, then this process is called merging. However, the branches need to be in the same repository or from a fork.
  • Pull – It refers to fetching changes and merging them. Let’s say someone made changes to a file in the repository. You can pull those changes to your local environment to ensure your files are up to date.
  • Pull Requests (PR) – A pull request is when a user submits proposed changes to a repository, and it is accepted or rejected by another repository collaborator.
  • Fork – A fork is a personal copy of another user’s repository that you have on your account. You can make changes to a project freely using a fork without affecting the original repository.
  • Commit – A commit is an individual change to a file in the repository. When you make a commit, Git will create a unique ID to help you keep a record of specific changes. It also records who made the changes and when they were made.
  • Push – Pushing means sending your changes to a remote repository on GitHub. For instance, if you make changes to a file locally, then you can push them so others can also access them.

We hope this article helped you learn how to use Git with WordPress. You may also want to see our picks of the best WordPress development tools and the most common WordPress errors and how to fix them.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us. Here's our editorial process.

Editorial Staff

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit - a collection of WordPress related products and resources that every professional should have!

Reader Interactions

5 CommentsLeave a Reply

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Prajwal Shewatkar says

    Git is the best alternative to manual backups every time you make changes to a code. I’ve used it while working on a simple sort and list plugin that I built for my client project. It saves a lot of time and it’s very easy to roll back when you mess things up.!

    • Mrteesurez says

      Thanks for this idea. although I have learnt some basic things about Git in this guide but I still need to learn it very well. It will be good to be using for Backup so that I can save time from doing backup whenever I make small changes.

      • Jiří Vaněk says

        Hi Mr. Mrteesurez . For beginners, it’s better to use something like Duplicator and set up automatic and regular backups. GitHub, in my opinion, is more intended for development. When you’re debugging some code, creating a plugin, etc., you can save versions, and the great thing is that you can work on it as a team. GitHub is still complicated for me, but I’m starting to learn it as well. However, if you’re specifically looking for backups, try Duplicator. It’s a great plugin, even from the wpbeginner team, and automatic backups to Google Drive are flawless.

  3. Jiří Vaněk says

    I have been interested in Github and versioning for a long time. Great article as a start to finally learn GitHub. Thank you for your work. Thank you also for the basic commands.

Leave A Reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.