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

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.kler.cn/a/548322.html

相关文章:

  • 【Axure高保真原型】画线效果
  • 【JavaEE进阶】验证码案例
  • Springboot_实战
  • 第1825天 | 我的创作纪念日:缘起、成长经历、大方向
  • OPEN CODER : THE OPEN COOKBOOK FOR TOP -TIER CODE LARGE LANGUAGE MODELS
  • 【人工智能】释放数据潜能:使用Featuretools进行自动化特征工程
  • SQL进阶能力:经典面试题
  • 讲解下SpringBoot中MySql和MongoDB的配合使用
  • 【Python爬虫(4)】揭开Python爬虫的神秘面纱:基础概念全解析
  • OpenCV中的Trackbar(无按钮)
  • Flutter_学习记录_动画的简单了解
  • 三维重建(十二)——3D先验的使用
  • 算法——结合经典示例了解回溯法
  • 数据结构篇
  • VM安装银河麒麟系统
  • 多模态本地部署和ollama部署Llama-Vision实现视觉问答
  • 【Docker】Docker Run 中指定 `bash` 和 `sh` 参数的区别:深入解析与实践指南
  • 如何调整 Nginx工作进程数以提升性能
  • vue3 ref/reactive 修改数组的方法
  • 【DuodooBMS】给PDF附件加“受控”水印的完整Python实现