如何编辑git中任何提交的提交消息?

这个问题在这里已经有了答案:

  • 如何修改git中的指定提交? 10个答案

  • 为了反弹这个子问题:是否有一个git commit --amend为之前的提交(而不仅仅是最后一个提交),你可以尝试类似的东西(尚未测试,但Colin O'Dell在写过评论中提到它的脚本colinodell / git-amend-old ):

    git checkout -b tmp
    git reset --hard HEAD~2
    git commit -amend 
    git rebase --onto tmp HEAD@{1} master
    

    这将是:

    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)
    

    这是强大的git rebase -i命令的工作。 此外,请参阅Git书籍的交互式重新激活部分。

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

    上一篇: How do I edit the commit message of any commit in git?

    下一篇: Amend a commit that wasn't the previous commit