--amend flag for the
commit command is a helpful utility for updating a commit. It allows you to “edit” a previous commit. In my workflow, this tends to happen a lot. I make a commit, realize that I need to change something else for the commit, make and stage the change, then amend the commit. It looks something like:
git add -p # Select changes to add git commit --amend
The issue with this method is that your editor opens allowing you to make a change to the commit message. Most of the time that I need to use
--amend, I do not need to make the commit message. The “open the editor and close it” routine gets to be a bit frustrating.
To simplify this workflow, you can amend a commit without opening the editor to change the commit message. It is as simple as:
git commit --amend --no-edit
Yes. This is simple and totally obvious. I was curious why I never knew this before given that I use
--amend so much. It turns out that the
--no-edit flag was added in Git 1.7.9. I am guessing that I started looking for a solution prior to Git 1.7.9 and eventually gave up, assuming that this was not possible.