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

【git】【rebase】git修改提交信息的几种方法

git commit --amend -m 只能修改最后一次的提交信息。如果要修改更早的提交信息,我们需要使用 git rebase -i

总结一下修改历史提交信息的几种方法:

  1. 修改最后一次提交信息:
git commit --amend -m "新的提交信息"
  1. 修改任意历史提交信息(使用 rebase):
git rebase -i <commit-hash>~1

Windows 中使用 git rebase -i 的步骤:

  1. 运行 git rebase -i <commit-hash> 命令

  2. 在打开的 vim 编辑器中:

    • i 进入编辑模式
    • 修改 目标pickreword
    • Esc 退出编辑模式
    • 输入 :wq 保存并退出
  3. 在新的编辑器中:

    • i 进入编辑模式
    • 修改提交信息
    • Esc 退出编辑模式
    • 输入 :wq 保存并退出

如果在过程中遇到问题:

  • 使用 :q! 放弃更改并退出
  • 使用 git rebase --abort 取消整个 rebase 操作
  • 使用 git rebase --continue 继续未完成的 rebase
  1. 使用 filter-branch(适用于特定场景):
git filter-branch --msg-filter 'if [ "$GIT_COMMIT" = "要修改的提交hash" ]; then echo "新的提交信息"; else cat; fi' HEAD

需要注意的是:

  1. 修改历史提交信息会改变提交的 hash 值
  2. 如果这些提交已经推送到远程仓库,你需要使用 git push --force 来推送更改
  3. 如果其他人已经基于旧的提交进行了开发,修改历史可能会导致合并冲突

在团队协作中修改历史提交时要特别小心,最好先和团队成员沟通。

相关文章:

  • 使用IDEA如何隐藏文件或文件夹
  • D033 neo4j知识图谱在线学习系统vue+django+neo4j【单课程】
  • 红锁如何解决分布式锁集群部署下的问题
  • 海康威视摄像头ISUP(原EHOME协议) 摄像头实时预览springboot 版本java实现,并可以在浏览器vue前端播放(附带源码)
  • 计算机视觉(opencv-python)之图像预处理基本操作(待补充)
  • 笔试练习day11
  • 【大模型】Windows桌面版AnythingLLM安装与配置教程
  • Docker网络模式实战
  • 大白话css第六章深入探索前沿技术、性能极致优化以及参与社区与知识沉淀
  • 6-1JVM的执行引擎处理
  • keil5模块化编程
  • JavaScript 变量概述
  • 第二十六天:Scrapy 框架-下载中间件Middleware
  • EL表达式和JSTL标签
  • Python 如何实现 Markdown 记账记录转 Excel 存储
  • RabbitMQ 常见问题
  • PostgreSQL 生产环境升级指南:pg_upgrade 快速完成版本升级!
  • 计算机毕业设计SpringBoot+Vue.js智能无人仓库管理系统(源码+文档+PPT+讲解)
  • 如何安装配置Goland并使用固定公网地址SSH远程连接本地服务器
  • MagicArticulate: Make Your 3D Models Articulation-Ready 论文解读
  • 国内做交互网站/电商平台怎么推广
  • 为什么自己做的网站别人打不开/电商seo搜索优化
  • 东营网站建设制作/竞价排名点击器
  • 不同用户入口的网站样板/宁波seo外包方案
  • 紫阳县城乡建设局官方网站/关键词快速排名怎么做
  • 做外贸有哪些网站/网站百度不收录