Git-修改提交message

git 修改重写commit message

Posted by 一之笔 on October 15, 2019

情景一

我在开发的过程中,git 提交的 message 不小心把项目名称写错了,需要修改,这时候,本地已经add,并且已经push到服务端了,怎么办?

情景二

上一篇我写了规范杂谈,里面有git代码提交的简单规范,这时候,我想修改之前提交的message,以便按照提交规范;

修改最近的一笔提交

修改最近的提交是最常见的修改历史说明的行为,我隔一段时间就会来一次;

这个很简单,就一个命令:

~ git commit –amend

git commit 后增加一个参数,amend,输入命令后,终端会进入 VIM 文本编辑器,按 i 字母,会进入编辑模式,修改你需要改的message,然后,保存,退出编辑,重新push即可

修改多个提交说明

修改多个提交说明,这个相对比较复杂,我也是按照某个老师写的,尝试了2次才修改成功;

主要是通过:以下这个命令,其中 HEAD~2 就是最近2笔提交;

~ git rebase -i HEAD~2

运行命令后,终端进入编辑模式,大概就是下面这个样子:

需要注意的是,这个编辑器给我们呈现的提交顺序跟[ git reflog ]的顺序是相反的; 这个跟我们修改的message没啥关系,但是也需要注意一下;

下来就是重点了,敲黑板

我们只要将想修改的每一次提交前面的 pick 改为 edit 。例如,只想修改第一次提交说明的话,就像下面这样修改,看下图:

退出编辑,保存退出,这时候,会提示你,接下来怎么做,大概是这个样子

其实分别就是两个命令

  • git commit –amend

  • git rebase –continue

其中,第一个命令就是修改上面你把 pick 修改 为 edit 的那一笔提交的message,然后保存退出,执行第二个命令

第二个命令,就是自动应用其他的提交,执行后,会有一段提示:

Successfully rebased and updated refs/heads/ios_fire_control2.0.

然后,git push 就可以了,大功告成!

以上,如有问题,欢迎留言,谢谢!


☛兄dei,请我喝杯茶☚
%