git 修改历史 commit message

1,修改当前的

直接使用下面的命令,如果打开的是 vim 编辑器,先切换到英文输入法,

键入 i 开始编辑(编辑完后也记得转为英文输入法),

再键入 Esc 结束编辑并键入 :wq 保存退出即可。

git commit --amend

2,修改历史的

步骤:

1,先查看 log

git log --oneline
# 查看前 3 步的 log
git log --oneline -3

在这里插入图片描述

2,开始修改

通过 rebase 变基实现

查看最近的3次提交:

git rebase -i HEAD~3

当通过查看 log 定位出要修改的 commit 的位置后,就可以进行修改。

比如要修改倒数第3次提交,将想要修改的 commit 对应的 pick 改为 er (2个都可以)。然后退出编辑并保存。

下面展示后续操作的是修改为 e 的操作,修改为 r 的后续操作类似。

在这里插入图片描述

注意此时的状态没有再某个分支上,而是在【ee38286a】的这次 commit 上:

在这里插入图片描述

此时,就可以执行 git commit --amend 来修改目标 commit message 了。

修改完后,执行 git rebase --continue 继续变基。因为刚刚设置了只修改一条 commit message,所以会直接到最后一步 Successfully:

在这里插入图片描述

此时当前状态也已经恢复:

在这里插入图片描述

3,其他注意点

1,中途不想修改了

如果在执行了 git rebase 之后,突然又不想修改了。那可以执行下面的命令退出变基操作:

git rebase --abort

2,commit ID 会发生变化

如果修改的是倒数第3个 commit。注意:从倒数第3~倒数第1的这3个 commit 的 ID 都会发生变化。

3,推送远程

无论是修改当前还是历史的,在本地做了修改之后,需要 git push -f 强制推送远程。

4,精准定位

如果想修改的 commit message 不是倒数第3次,而是倒数十几次,甚至更前,设置一个大的数字不太友好。

而且我们已经知道是哪个 commit 了,所以可直接定位。以下图为例:

在这里插入图片描述

如果想修改的就是 【ee38286 第3次提交】 这个 commit,可以:

git rebase ee38286^ --interactive

此时打开的编辑页面,第1个就是这个 commit。

注意 ee38286^ 这里有个 ^。如果没有它,那编辑页面显示的**第一个就是 【2992dec 第4次提交】这个 commit **。

后续操作相同。


以上。

  • 16
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

下雪天的夏风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值