Join my free Bash scripting course on Udemy 👀

Amend to git commit without changing the commit message

April 16, 2022  ‐ 2 min read

While coding I’m quite often adding changes to a local (work-in-progress) commit. Although it is not that problematic to re-save the current message it can become an annoyance when repeated enough times.

Luckily you can skip the step of editing the commit message when amending changes to a git commit. You can skip editing the commit message by using the --no-edit flag:

$ git commit --amend --no-edit

You can combine the above command with a git add . to add all your current changes directly to the last commit you have made in your repository.

$ git add . && git commit --amend --no-edit

Make it an alias

Alright, that allows for skipping the commit message when amending to a git commit but typing that out doesn't save us time :). Maybe a search in previously run commands will do. But you can also choose to either make a git alias or an alias in your terminal shell.

In order to make a git alias you need to make a change to your git config, you can either do that via a command or by opening the git config file. Via the command line it would be like:

$ git config --global alias.amend-no-edit 'commit --amend --no-edit'

The other option would be to add an alias directly to your git config using a text editor. This file can be located in different locations, also depending on your operating system.

Adding a git alias to your git config would look something like the following:

~ % cat ~/.gitconfig
        name = …
        email = …
        amend-no-edit = commit --amend --no-edit

Obviously you can choose something other than amend-no-edit. What matters here is that both options allow you to run the command as:

$ git amend-no-edit

Another option would be to add a shell alias instead of a git alias. The above requires you to still use the git command, using a shell alias you can also get rid of that. In order to add a shell alias you need to add the example below to your shell's config file, which config file depends on the shell you are using (bash, zsh, fish, etc.)

alias amend="git commit --amend --no-edit"

By adding the above to your shell's config file you can run the

$ amend