git修改已经push的commit信息

背景

在使用git提交代码时,会遇到commit message 写错的情况。

  • 本地commit message出错
    • 使用了git commit 而没有将代码push,
    • 在向远程服务器push的时候,由于远程服务器的格式限定导致push错误,需要修改git commit信息才能提交完成
  • 提交到远程服务器上后,发现commit 出错

1、查看 git日志

git log

2、确定那些commit是需要修改的

最近commit顺序

  • 如果想修改最近的commit message ,可以使用git rebase来制定, ``HEAD~3表示最新的三条,如上图所以的顺序
git rebase -i HEAD~3
  • 或者可以使用每次 commit 生成的哈希值 SHA来定位,如想修改图上的第二条记录,可以使用
git rebase -i 72b555b763d47e2b02f7938765160dd0d414c376

# 或者使用简码

git rebase -i 72b555b7

大多数情况下简码唯一时,他们是等效的

  • 现在以修改最新的前三条 commit为例 git rebase -i HEAD~3

修改commit message

  • 可以看到顶部有三列, command、SHA-1 commit message

    • 如果需要修改某一个 commit ,就把它前面的 pick 改成 edit
    • 其他地方保持不变
    • 现在修改第2个 commit message

修改commit message

  • 修改完成之后,保存修改

3、修改 commit message

  • 讲过上面的步骤,可以看到
    保存需要修改的commit后

  • 使用git commit --amend 修改每个 commit
    修改commit 信息

  • 修改完 commir message 后,使用 git rebase --continue 提交
    修改完成保存信息

  • 如果后面还有记录,重复上面的步骤

    • 使用 git commit --amend 修改提交
    • 使用 `` git rebase --continue提交修改

4、更新到远程服务器

  • 强制更新到远程服务器
git push origin master -f
  • 为什么要强制 push?
    • 如果不使用 -f 操作,那么我们的 edit 会添加到commit后面,而不是更新原来的 commit
       git log 顺序

可以看到 commit message 已经成功更新

参考

Git Branching - Rebasing

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值