One of the easiest ways to alter the most recent commit on your current branch is with git commit --amend. Typically, “amend” implies that the commit has fundamentally the same content but that some aspect requires adjustment or tidying. The actual commit object that is introduced into the object store will, of course, be different.
A frequent use of git commit --amend is to fix typos immediately after a commit. This is not the only use. As with any commit, this command can amend any file or files in the repository and, indeed, can add or delete a file as part of the new commit.
As with a normal git commit command, git commit --amend prompts you with an editor session in which you may also alter the commit message.
For example, suppose you are working on a speech and made the following recent commit:
git showcommit 0ba161a94e03ab1e2b27c2e65e4cbef476d04f5d Author: Jon Loeliger <firstname.lastname@example.org> Date: Thu Jun 26 15:14:03 2008 -0500 Initial speech diff --git a/speech.txt b/speech.txt new file mode 100644 index 0000000..310bcf9 --- /dev/null +++ b/speech.txt @@ -0,0 +1,5 @@ +Three score and seven years ago +our fathers brought forth on this continent, +a new nation, conceived in Liberty, +and dedicated to the proposition +that all men are created equal.
At this point, the commit is stored in Git’s object repository, albeit with small errors in the prose. To make corrections, you could simply edit the file again and make a second commit. That would leave a history ...