How do I edit the commit message of any commit in git?
This question already has an answer here:
 To rebound on the sub-question: is there a git commit --amend for a previous commit (and not just the last one), you could try something like (not tested yet, but Colin O'Dell mentions in the comments having written a script for it colinodell/git-amend-old ):  
git checkout -b tmp
git reset --hard HEAD~2
git commit -amend 
git rebase --onto tmp HEAD@{1} master
That would be like:
x---x---x---x---x
                ^
                |
               (master*) (* = current branch)
git checkout -b tmp
x---x---x---x---x
                ^
                |
               (tmp*, master) 
git reset --hard HEAD~2
x---x---x---x---x
        ^       ^
        |       |
      (tmp*) (master) 
git commit -amend 
      y (tmp*) 
     /
x---x---x---x---x
        |       ^
   (HEAD@{1})   |
          (master) 
git rebase --onto tmp HEAD@{1} master
    (tmp)
      y---x'---x' (master*) 
     /
x---x---x---x---x (only referenced in reflog)
 This is a job for the powerful git rebase -i command.  Also, see the Interactive Rebasing section of the Git book.  
上一篇: 我如何编辑以前的git commit?
下一篇: 如何编辑git中任何提交的提交消息?
