Git Commit: How to Commit Code Changes to GitHub? 
Tags: github, git
Published: 2020-11-05 18:29:59

---
published: true
date: 2020-11-05 13:13:39 UTC
tags: GitHub,Git
canonical_url: https://zepel.io/blog/how-to-commit-to-github/
---

Every developer’s nightmare is most likely to have hours worth of code disappear in seconds. And sometimes this nightmare does come true. Scary, isn’t it? This is where a frequent code commit can come to your rescue. 

But before we jump to the ‘how to use it’ part, let’s have a look at how code commits work at a high-level. 

Here’s what we’ll cover in this article:
1. [How Commit Command in GitHub Works](#how-commit-in-github-works)
2. [How to Commit Code Changes to GitHub](#commit-to-github)

---

<h2 id="how-commit-in-github-works"> How Commit Command in GitHub Works </h2>

GitHub (and Git) enables you to create branches replicating the original code base. And to these branches, changes are made and committed to be merged with the original code base.  

If you’re not familiar with Branches in git, [here’s an article for you](https://zepel.io/blog/how-to-create-a-new-branch-in-github/?utm_source=devto&utm_medium=text&utm_campaign=how-to-commit-to-github).

Every time you enter the `git commit` command in the terminal, snapshots of the repository are captured at that particular point in time. But how will git know what changes to save? 

For this purpose, the `git add` command followed by the names of the files you made changes to and wish to commit are entered in the git terminal. 

`git add file1 file 2`

That is, using this command includes the files whose changes need to be added to the next commit in the staging area. 

Then, using the `git commit` command, git is instructed to capture snapshots of these explicitly mentioned files at those specific times. 

But if you use the GitHub Desktop app, this whole process is simplified to a few clicks.

*I’ll show you how to use this desktop app to commit to GitHub shortly.*

These snapshots or milestones are saved as ‘savepoints’ in the local repository, which can be later merged with the central repository. 

**Tip:** Make regular commits to enable your teammates to view the history of the changes made to the repository and review them so that a stable version of the code gets deployed.

Now that you know how the commit command works in git, let’s get to the actual part - the implementation.

---

<h2 id="commit-to-github"> How to Commit Code Changes to GitHub </h2>

**Before You Begin:** Make sure you stage the files with changes you want to commit.

Also, ensure that you have the right branch selected to make the commits to. You don’t want to touch that Master branch and make commits to it until you’re a hundred percent sure, trust me. ‘

You can commit to GitHub in two ways:

1. [Using the GitHub Desktop App](#github-commit-using-github-desktop)
2. [Using the Terminal Code](#github-commit-using-terminal)

Let’s see how you can do that using both, shall we? :)

---

<h3 id="github-commit-using-github-desktop"> Committing to GitHub Using GitHub Desktop </h3>

Committing to git is incredibly easy using the GitHub desktop app. 

Once you’ve made the changes to your files in your text editor and saved them, open your GitHub desktop app. You will be able to view the changes made to the repository and the repository history.

*Make sure you have selected the branch you wish to commit the changes to.*

Now, enter a very short description of the commit so that you and your team members are on the same page without any confusion. Click on the `Commit to *your branch name*` button.

![Commit Button in GitHub Desktop App](https://zepel.io/blog/content/images/2020/11/Commit-Button-in-GitHub-Desktop-1.png)

Finally, click the `Push Origin` button to merge all your commits from the local repository to your central repository or code base and keep it up-to-date for the rest of your team to access. It really is that simple. :) 

![Push Origin Button in GitHub Desktop App](https://zepel.io/blog/content/images/2020/11/Push-Origin-Button-in-GitHub-1.png)

---

<h3 id="github-commit-using-terminal"> Using Terminal to Commit to GitHub </h3>

You’ve got a few options to use this `git commit` command in the terminal code. Let’s have a look at them one by one.

`$ git commit -a`

This will initiate the commit process to commit all changes in your current directory. But you will need to enter the commit message (i.e. the short description about the commit) separately. Your default text editor opens automatically on executing this command where you can enter the commit message.

`$ git commit -m “<commit message>”`

If you wish to avoid an external prompt to enter the commit message while committing the desired changes to your local repository, use this command. 

`$ git commit -am “<commit message>”`

Running this command will commit all changes in the repository you’re currently working in, skipping the staging process, all the while including the descriptive commit message. 

`$ git commit --amend “<commit message>”`

With the help of this command, you can rewrite the last made commit with the latest staged changes (as a new commit).  

Since these commits are made to the local repository, you must publish them to reflect them in the remote origin. This way all your teammates will be able to access the latest version of the code base. To do this, run the following command:

`$ git push <remote> <branch-name>`

---

*Here’s an article I thought you might be interested in if you want to learn all the git commands: [13 git commands every developer must know](https://zepel.io/blog/13-git-commands/?utm_source=devto&utm_medium=text&utm_campaign=how-to-commit-to-github).*  

---

Can't imagine a world without git, can you? Neither can we! So we brought it to you. 

When you [integrate GitHub with Zepel](https://zepel.io/integrations/?utm_source=devto&utm_medium=text&utm_campaign=how-to-commit-to-github), you can get going with what you do best — building quality software. The boring parts of updating progress to your teammates? Zepel’s got your back with that.

All you’ve got to do is use Zepel’s suggested branch name when you create a new branch.

![Link Branch to Feature in Zepel](https://zepel.io/blog/content/images/2020/10/zepel-github-link-feature-to-branch.png)

Try Zepel for free and never worry about having to update your teammates about your progress. [Check out why 4000+ teams prefer it over others](https://zepel.io/customer-reviews/?utm_source=devto&utm_medium=text&utm_campaign=how-to-commit-to-github).

If you're not fully convinced, see [how Zepel compares to other agile project management tools](https://zepel.io/agile-tools/?utm_source=devto&utm_medium=text&utm_campaign=how-to-commit-to-github).