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.