git 修改已经提交的commit信息

  因为公司会有一套commit提交规范,开发过程中不小心提交了错误的信息,如何及时的弥补错误呢?

  1. 如果是在本地的提交,还没推到主分支,那很简单,直接reset重新提交一次

    git log   查看日志,如下

    

     每次提交都有一个commit id

    git reset head^   撤回最近一次提交

    git reset ${commitId}   撤销commitId之后的提交

    git add .  暂存

    git commit -m ''   重新提交

  2. 如果提交到了远程分支,那需要修改历史的操作

  • 首先如果是最近的一次提交,也很简单,执行

    git commit --amend

    会进入到如下界面,按下 a 或者 i 进入编辑模式

    

     第一行就是之前提交的信息,修改后按下esc,然后:wq 保存退出

    执行git log查看修改成功便可push到远程分支

  • 如果是以前的几次提交出错,稍微有点麻烦,操作如下

    git rebase -i HEAD~3  表示要修改本次提交前3次的提交,出现如下界面

    

     前三行分别为最近提交三次的信息倒序,注意是倒序,最近一次提交在第三行。切到编辑模式,将你要修改的某一次提交的pick改为edit,如下

    

     保存退出,会出现以下的提示信息:

       

    根据提示,执行git commit --amend,一样弹出上面提到的修改最近一次提交内容的信息(本文第二张图),如上操作修改第一行提交的信息后保存退出

    这个之后打印日志其实HEAD处于当前修改的这一条提交的这里,需要rebase其他的提交记录

      git rebase --continue

    最后git log检查是否修改成功就可以push了,如果要修改多条重复上述操作即可

原文地址:https://www.cnblogs.com/zhoujin-Jojo/p/13685335.html