0


Git 如何修改历史的 Commit message

场景:当分批次多次提交时,突然发现提交的message不符合规范,想要修改,这时就可以使用了

修改最近一条Commit

如果只是想修最近一条 Commit, 直接使用命令:

git commit --amend 

就可以进行修改,命令行会进入vim的界面,让你修改上一次的提交 Message,改好消息,退出即可。然后强制的push(git push origin 分支名 -f)一下。

修改过去若干条 Commit

如果要修改过去若干条 Commit 的 Message,不管改不改最新那一条,都会稍微有点麻烦。

比如我一个需求,提交了三个commit,首先先执行git log查看commit记录:

我想修改第一次提交的message,加上次数

这时候我们需要使用如下命令

git rebase -i 9c8b8a837dc2d831983339924a6eba91ba9a77d3

9c8b8a837dc2d831983339924a6eba91ba9a77d3 为 d79776ccxxx下面的一次log记录,这里没有截出来,文章最后有一个可以看见的截图

进入了Vim界面:

参数说明:

  • **pick(p)**:保留该 commit
  • **reword(r)**:保留该 commit,但我需要修改该commit的 Message
  • **edit(e)**:保留该 commit, 但我要停下来修改该提交(包括修改文件)
  • **squash(s)**:将该 commit 和前一个 commit 合并 (多条commit合并为一条)
  • **fixup(f)**:将该 commit 和前一个 commit 合并,但我不要保留该提交的注释信息
  • **exec(x)**:执行 shell 命令
  • **drop(d)**:丢弃这个 commit

按照实际需要去选择命令,我们这里需要的是 reword,用来修改 Message。

记住,这里如果需要改多条记录,将对应的commit id前的pick修改为r即可,这里我只改一条了。

修改完成后(这里无需修改message),按esc,再输入:wq 即可保存并退出。

接着就会来到d79776c的提交页面,编辑message即可

同样的 按esc,再输入:wq 即可保存并退出。

如果修改多条,会依次进入各自commit的提交页面,依次编辑message即可,最后一次编辑完成后,会输出:

Successfully rebased and updated refs/heads/master.

代表rebase成功了,我们再来git log 看下:

别忘记,要git push origin master(你的分支名) -f 哦~

标签: git github

本文转载自: https://blog.csdn.net/cj_eryue/article/details/130361285
版权归原作者 cj_eryue 所有, 如有侵权,请联系我们删除。

“Git 如何修改历史的 Commit message”的评论:

还没有评论