How do I edit the commit message of any commit in git?

This question already has an answer here:

  • How to modify a specified commit in git? 10 answers

  • 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.

    链接地址: http://www.djcxy.com/p/23424.html

    上一篇: 我如何编辑以前的git commit?

    下一篇: 如何编辑git中任何提交的提交消息?