• Home

  • Productivity

  • App tutorials

App tutorials

3 min read

How to push to GitHub

By Jessica Lau · September 28, 2023
Hero image with the GitHub logo

There are plenty of ways to use GitHub: the website, the app, or the terminal. The terminal is the best way to sync local projects to a GitHub repository, and once you learn the basics, you'll be able to push local projects to remote GitHub repositories in seconds.

Here's how to push to GitHub.

What does it mean to push to GitHub?

Pushing to GitHub means uploading files to or updating existing files in a GitHub repository.

Let's say you just created a new public repository for a project and you want to upload all your files to it. To do that, you would push your files to GitHub. Or maybe you're continually working on a project from a private GitHub repository for your company, and you want to upload the latest changes that you've made. That would also require you to push the changes to GitHub.

In other words, pushing to GitHub is a secure and convenient way to upload local files to a remote repository. 

How to push to GitHub

Before we continue, make sure you've installed and enabled Git on your local machine. 

Note: Your Git terminal may look different depending on your operating system (I'm using Windows), but the steps are the same. 

  1. Go to the web page for your GitHub repository, and note the URL. 

    Example of where to find the URL for a GitHub repository.

  2. Open Bash on Windows. (If you're using Linux or Mac, open Terminal.) 

  3. Use the cd command to switch to the directory you want to use to work on your project locally.

    Cd command in GitHub.

  4. Enter git clone [URL of your repository] to copy your repository to your local machine.

    Code entered in GitHub to copy the GitHub repository to a local machine.

  5. Use the cd command to go into your repository directory. You'll know you're in the right place if your new command line ends with the name of the main branch of your repository. For example, the name of my main branch is "main," so (main) appears at the end of my command line.

    GitHub repository directory.

  6. Once you've added your files to your directory and are ready to push to GitHub, in your Bash window, enter git add . to select all the files in your repository. 

  7. Enter git commit -m "[commit message]" to save the changes to your local repository. You can enter anything for the commit message, but adding -m "[commit message]" specifies what this code change is doing, so it's helpful to be clear and concise.

    How to save changes to a local repository.

  8. Enter git push origin [branch name] to save your code changes to GitHub.

    How to save code changes to GitHub.

If you haven't already done so, GitHub will prompt you to authenticate your identity. Enter your GitHub username and password. Once the authentication is done, the upload process will start. After it's complete, you'll see specific details about where the data was uploaded.

That's it! You've successfully pushed your local files and folders to your GitHub repository. 

To double-check that you pushed to GitHub successfully, open your GitHub repository web page. Your code changes should appear there. 

GitHub repository web page with a list of code changes.

Automate GitHub with Zapier

Zapier lets you connect GitHub to thousands of apps, so you can automate more of your Git processes. For example, you can automatically get a notification or create a task in your project management tool whenever there's a new pull request in your repository. Or you can notify others about new commits to your repo. Here are a few templates to get you started, but you can use Zapier to connect GitHub to thousands of other apps.

To get started with a Zap template—what we call our pre-made workflows—just click on the button. It only takes a few minutes to set up. You can read more about setting up Zaps here.

Send new GitHub pull requests to Slack messages

Send new GitHub pull requests to Slack messages
  • GitHub logo
  • Slack logo
GitHub + Slack

Create Trello Cards from Github Pull Requests

Create Trello Cards from Github Pull Requests
  • GitHub logo
  • Trello logo
GitHub + Trello

Send Discord channel messages for new commits in Github

Send Discord channel messages for new commits in Github
  • GitHub logo
  • Discord logo
GitHub + Discord

Related reading:

  • How to download from GitHub

  • How to delete a repository in GitHub

  • Zapier tables: A better way to store (and use) your data

  • 3 workflows to help you get the most out of your database

This article was originally published in June 2019 by Khamosh Pathak. The most recent update was in September 2023.

Get productivity tips delivered straight to your inbox

We’ll email you 1-3 times per week—and never share your information.

mentioned apps

Related articles

Improve your productivity automatically. Use Zapier to get your apps working together.

Sign up
A Zap with the trigger 'When I get a new lead from Facebook,' and the action 'Notify my team in Slack'