Form current documentation
--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_HEADbut can be used to amend a merge commit.
I find myself wanting to amend not tip of the branch, but an older commit (typically to change log message). As example if I have this
D---E---F---G master
And I want to amend revision E currently I do
$ git branch tmp
$ git reset E
$ git commit --amend
$ git rebase tmp master
$ git branch -d tmpWould be possible to extend git commit --amend so to automate the above sequence ? Or does perhaps exists a better sequence to change (actually simulate the change of) log message of an inner revision?
Thanks in advance Marco