From the git-commit man page:
--amend Used to amend the tip of the current branch. Prepare the tree object you would want to replace the latest commit as usual (this includes the usual -i/-o and explicit paths), and the commit log editor is seeded with the commit message from the tip of the current branch. The commit you create replaces the current tip--if it was a merge, it will have the parents of the current tip as parents--so the current top commit is discarded. It is a rough equivalent for: $ git reset --soft HEAD^ $ ... do something else to come up with the right tree ... $ git commit -c ORIG_HEAD but can be used to amend a merge commit. You should understand the implications of rewriting history if you amend a commit that has already been published. (See the "RECOVERING FROM UPSTREAM REBASE" section in git-rebase(1).)
This is the simplest way to fix the last commit you made. The following alias makes it even easier:
$ git config --global alias.amend 'commit --amend'
Here it is in action:
evadeflow@SERENITY ~/Desktop/onekeywonder (master) $ git commit -am "Update REAME" [master 5ec5364] Update REAME 1 files changed, 1 insertions(+), 0 deletions(-) evadeflow@SERENITY ~/Desktop/onekeywonder (master) $ git amend -m "Update README" [master 6a65f82] Update README 1 files changed, 1 insertions(+), 0 deletions(-)
Stick that in your git crackpipe and smoke it!