Git’s amend command is so simple, yet so powerful. I personally use it multiple times a day and even have a bash alias for it. Why is amending so useful? The answer is simple: programmers make lots of mistakes. Mistakes are a part of the job. Git amend fixes mistakes as simple as a commit message typo. On the other hand, git amend can be significant enough to improve your (team’s) entire commit history.
Below, I’ll explain why
is so useful, and how you can start using it immediately. Let’s get started!
Why Use Git Amend?
There are a couple of key practical uses here. For the most part,
git amend aims to fix a mistake. In other words, it “amends” you. It’s pretty useful in several cases.
Use Case 1: Changing Commit Message Typos
Have you ever saved a commit and immediately think of a better or more descriptive commit message? Happens all the time. To amend, you don’t even need to make any code changes. With
, you can change only the commit message.
Use Case 2: Appending Code To The Last Commit
Maybe you made a follow up change that doesn’t exactly deserve its own commit. Often times, a single commit isn’t final. You don’t have to “commit” to it. You can take a small typo or an entire new file and add it to the previous commit. This helps keep git logs focused.
You can add as many changes to the same commit as necessary, as long as you don’t make an entire new commit. So how exactly do we do this? It’s very easy!
How To Use Git Amend
git amend is pretty straightforward. First, you need to add your staged changes. This should be a simple
Once your changes are ready, run
git add .
. That’s pretty much it!
git commit --amend
Once you run the latter command, you will be prompted by nano(gits default text editor) to proceed with your changes. You can get through nano by going through these steps:
- Typing in your new git description. Don’t change anything if you want to keep it the same.
CTRL+Xto continue. If you didn’t change the commit message, it should exit immediately. If not, you can hit
CTRL+Yto save, or
- There are other options, just look at the bottom of your terminal window. Though, the above is all you should need for basic uses.
Saving Some Time With a Bash Alias
For a basic amend, you need to type in
. If you think you’ll do this often, it’s nice to have an alias that can save a few keystrokes.
git add . && git commit --amend
Here’s what I use:
alias gitamend="git add . && git commit --amend"
Use whatever works for you. The shortest name I can think of is
, which is only 4 keystrokes. Pretty handy!
That’s all you should need to get started. It’s a pretty simple command and there isn’t much more to it, but feel free to peek through the additional resources below. Enjoy!