当前位置: 首页 > 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 <分支名>

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

http://www.dtcms.com/a/23307.html

相关文章:

  • 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
  • UI自动化教程 —— 元素定位技巧:精确找到你需要的页面元素
  • Kafka偏移量管理全攻略:从基础概念到高级操作实战
  • 如何在yolov8系列运行自己的数据集
  • NAT(网络地址转换)技术详解:网络安全渗透测试中的关键应用与防御策略
  • 嵌入式人工智能应用-第四章 决策树 6
  • PostgreSQL 创建数据库
  • 一个基于Spring Boot和Vue.js的web商城系统-邻家小铺
  • SyntaxError: invalid syntax
  • MYSQL中的性能调优方法
  • Mac 安装Ollama和llama3,本地部署LobeChat和刘皇叔聊三国