目录
修改最近一条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 看下:
文章来源:https://www.toymoban.com/news/detail-481343.html
别忘记,要git push origin master(你的分支名) -f 哦~文章来源地址https://www.toymoban.com/news/detail-481343.html
到了这里,关于Git 如何修改历史的 Commit message的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!