当前位置: 首页 > news >正文

Git 修改或删除某次提交信息

Git 修改或删除某次提交信息

      • 情况一:未推送到远程仓库
        • 修改提交信息
        • 删除提交信息(替换为空信息)
        • 修改历史提交信息
        • 删除历史提交信息
      • 情况二:已推送到远程仓库
        • 修改最新提交信息并推送到远程仓库
        • 修改历史提交信息并推送到远程仓库

情况一:未推送到远程仓库

如果你要修改或删除的提交是最新的一次提交(即 HEAD 指向的提交),可以使用 git commit --amend 命令。

修改提交信息
git commit --amend -m "新的提交信息"

上述命令会直接用 "新的提交信息" 替换掉上一次的提交信息。

删除提交信息(替换为空信息)
git commit --amend -m ""

执行该命令后,提交信息会被替换为空字符串。

如果你想要修改或删除的不是最新的提交,而是历史提交,可以使用 git rebase -i(交互式变基)命令。

修改历史提交信息

假设你要修改倒数第三次的提交信息,操作步骤如下:

  1. 启动交互式变基:
git rebase -i HEAD~3

上述命令中的 HEAD~3 表示从当前 HEAD 开始往前数 3 个提交。执行该命令后,会打开一个文本编辑器,显示类似如下内容:

pick 123abc 原始提交信息 1
pick 456def 原始提交信息 2
pick 789ghi 原始提交信息 3
# ...
  1. 将你要修改的提交前的 pick 改为 rewordr,例如修改第二个提交信息:
pick 123abc 原始提交信息 1
reword 456def 原始提交信息 2
pick 789ghi 原始提交信息 3
  1. 保存并关闭编辑器,Git 会依次处理每个提交。当遇到 reword 的提交时,会再次打开编辑器让你输入新的提交信息。输入完成后保存并关闭编辑器,即可完成提交信息的修改。
删除历史提交信息

步骤与修改历史提交信息类似,只是在输入新的提交信息时将内容清空,然后保存并关闭编辑器。

情况二:已推送到远程仓库

如果要修改或删除的提交已经推送到远程仓库,在修改本地提交信息后,还需要强制推送到远程仓库。

修改最新提交信息并推送到远程仓库
git commit --amend -m "新的提交信息"
git push -f origin <分支名>

上述命令中,-f--force 的缩写,表示强制推送,会覆盖远程仓库上的提交历史,请谨慎使用。

修改历史提交信息并推送到远程仓库

在使用 git rebase -i 修改历史提交信息后,同样需要强制推送到远程仓库:

git push -f origin <分支名>

强制推送可能会影响其他团队成员的工作,因此在多人协作的项目中,建议先与团队成员沟通协调。

相关文章:

  • Playwright 自动化测试系统学习
  • vue点击左边导航,右边出现页面步骤
  • 《SpringBoot配置风暴》
  • 【记忆化搜索】猜数字游戏Ⅱ
  • 2025年02月14日Github流行趋势
  • TensorFlow 实现任意风格的快速风格转换
  • cs106x-lecture9(Autumn 2017)-SPL实现
  • PLC的集成RAM,存储器卡,用户程序存储空间,数据存储容量分别指的什么,有什么关联?
  • set的使用(c++)
  • JVM基础---java类加载机制(类的生命周期,类加载器,双亲委派模型)
  • XSS攻击(跨站脚本攻击)详解与实战
  • 零基础入门机器学习 -- 第五章决策树与随机森林
  • BSD协议栈:多播
  • Visual Basic语言的数据类型
  • Logo语言的图形用户界面
  • jar命令解压jar包及更新jar的配置文件
  • RTMP(Real-Time Messaging Protocol)
  • 网工项目理论1.11 网络出口设计
  • seata基本使用
  • 【Java】Mongodb
  • 中青报聚焦上海社区心理服务:社工介入让居民“心畅”
  • 述评:赖清德当局上台一年恶行累累
  • 河南通报部分未检疫生猪流入:立案查处,涉案猪肉被封存
  • 瑞幸首度牵手成都国际非遗节,用一杯饮品将非遗之美推向全国
  • 美国前总统拜登确诊前列腺癌
  • 从《缶翁的世界》开始,看吴昌硕等湖州籍书画家对海派的影响