Git 如何修改历史的 Commit message

       

目录

修改最近一条Commit

修改过去若干条 Commit


场景:当分批次多次提交时,突然发现提交的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 哦~

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值