git 修改历史 commit message

news2024/11/27 21:00:38

目录

  • 1,修改当前的
  • 2,修改历史的
    • 1,先查看 log
    • 2,开始修改
  • 3,其他注意点
    • 1,中途不想修改了
    • 2,commit ID 会发生变化
    • 3,推送远程
    • 4,精准定位

1,修改当前的

直接使用下面的命令,如果打开的是 vim 编辑器,先切换到英文输入法,

键入 i 开始编辑(编辑完后也记得转为英文输入法),

再键入 Esc 结束编辑并键入 :wq 保存退出即可。

git commit --amend

2,修改历史的

步骤:

1,先查看 log

git log --oneline
# 查看前 3 步的 log
git log --oneline -3

在这里插入图片描述

2,开始修改

通过 rebase 变基实现

查看最近的3次提交:

git rebase -i HEAD~3

当通过查看 log 定位出要修改的 commit 的位置后,就可以进行修改。

比如要修改倒数第3次提交,将想要修改的 commit 对应的 pick 改为 er (2个都可以)。然后退出编辑并保存。

下面展示后续操作的是修改为 e 的操作,修改为 r 的后续操作类似。

在这里插入图片描述

注意此时的状态没有再某个分支上,而是在【ee38286a】的这次 commit 上:

在这里插入图片描述

此时,就可以执行 git commit --amend 来修改目标 commit message 了。

修改完后,执行 git rebase --continue 继续变基。因为刚刚设置了只修改一条 commit message,所以会直接到最后一步 Successfully:

在这里插入图片描述

此时当前状态也已经恢复:

在这里插入图片描述

3,其他注意点

1,中途不想修改了

如果在执行了 git rebase 之后,突然又不想修改了。那可以执行下面的命令退出变基操作:

git rebase --abort

2,commit ID 会发生变化

如果修改的是倒数第3个 commit。注意:从倒数第3~倒数第1的这3个 commit 的 ID 都会发生变化。

3,推送远程

无论是修改当前还是历史的,在本地做了修改之后,需要 git push -f 强制推送远程。

4,精准定位

如果想修改的 commit message 不是倒数第3次,而是倒数十几次,甚至更前,设置一个大的数字不太友好。

而且我们已经知道是哪个 commit 了,所以可直接定位。以下图为例:

在这里插入图片描述

如果想修改的就是 【ee38286 第3次提交】 这个 commit,可以:

git rebase ee38286^ --interactive

此时打开的编辑页面,第1个就是这个 commit。

注意 ee38286^ 这里有个 ^。如果没有它,那编辑页面显示的**第一个就是 【2992dec 第4次提交】这个 commit **。

后续操作相同。


以上。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1562778.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Netty核心原理剖析与RPC实践11-15

Netty核心原理剖析与RPC实践11-15 11 另起炉灶:Netty 数据传输载体 ByteBuf 详解 在学习编解码章节的过程中,我们看到 Netty 大量使用了自己实现的 ByteBuf 工具类,ByteBuf 是 Netty 的数据容器,所有网络通信中字节流的传输都是…

哥哥张国荣逝世21年,唐唐继续发文怀念

一代巨星张国荣(哥哥)在21年前的愚人节(2003年4月1日)从香港文华东方酒店一跃而下,终年46岁,当年他的离开令很多歌迷影迷都感到悲痛,当中亦包括了他…… 他就是唐鹤德(唐唐&#xff…

FPGA高端图像处理开发板-->鲲叔4EV:12G-SDI、4K HDMI2.0、MIPI等接口谁敢与我争锋?

目录 前言鲲叔4EV----高端FPGA图像处理开发板核心板描述底板描述配套例程源码描述配套服务描述开发板测试视频演示开发板获取 前言 在CSDN写博客传播FPGA开发经验已经一年多了,帮助了不少人,也得罪了不少人,有的人用我的代码赢得了某些比赛、…

SpringBoot整合Netty整合WebSocket-带参认证

文章目录 一. VectorNettyApplication启动类配置二.WebSocketServerBoot初始化服务端Netty三. WebsocketServerChannelInitializer初始化服务端Netty读写处理器四.initParamHandler处理器-去参websocket识别五.MessageHandler核心业务处理类-采用工厂策略模式5.1 策略上下文 六…

【C语言】联合和枚举

个人主页点这里~ 联合和枚举 一、联合体1、联合体类型的声明2、联合体成员的特点3、与结构体对比4、计算联合体大小 二、枚举1、枚举的声明2、枚举的优点3、枚举类型的使用 一、联合体 1、联合体类型的声明 联合体的定义与结构体相似,但是联合体往往会节省更多的空…

分布式光伏电力监控系统解决方案

安科瑞薛瑶瑶18701709087 分布式光伏现状 自发自用、余电上网模式 完全自发自用(防逆流)模式 全额上网模式 0.4kV并网系统 此图为车间新建屋顶分布式光伏发电项目,建设装机容量为1103.46kWp。组件采用单晶硅功率515Wp及550Wp组件&#xff…

文献学习-25-综合学习和适应性教学:用于病理性胶质瘤分级的多模态知识蒸馏

Comprehensive learning and adaptive teaching: Distilling multi-modal knowledge for pathological glioma grading Authors: Xiaohan Xing , Meilu Zhu , Zhen Chen , Yixuan Yuan Source: Medical Image Analysis 91 (2024) 102990 Key words: 知识蒸馏、模态缺失、胶质瘤…

js实现简单的添加移除水印效果

一、实现场景 在做某些内部管理系统时,需求可能要求增加水印,水印内容通常可能是logo或者用户名手机号。实现效果如图: 以下步骤可实现简单添加或者移除水印,并且可以自定义样式、旋转角度等。 二、实现方式 1、先新建一个js…

期权定价模型有哪些?

常见的期权定价模型有BSM模型、二叉树模型以及蒙特卡洛定价模型。 BS模型 在一系列的假设条件下,该模型将期权的价值表示成为标的资产价格、行权价格、无风险利率、期权剩余期限和标的资产波动率的函数。即一旦定量的给出上述5个影响因子的数值,就可以…

鸿蒙OS开发实例:【ArkTS类库多线程CPU密集型任务TaskPool】

CPU密集型任务是指需要占用系统资源处理大量计算能力的任务,需要长时间运行,这段时间会阻塞线程其它事件的处理,不适宜放在主线程进行。例如图像处理、视频编码、数据分析等。 基于多线程并发机制处理CPU密集型任务可以提高CPU利用率&#x…

【PFA树脂交换柱】实验室高纯PFA材质过滤柱耐受电子级氢氟酸含氟树脂层析柱

PFA离子交换柱,也叫PFA层析柱、PFA过滤柱等,其原理是利用吸附剂对不同化合物有不同吸附作用和不同化合物在溶剂中的不同溶解度,用适应溶剂使混合物在填有吸附剂的柱内通过,使复杂的混合物达到分离和提纯的目的。 柱体为透明PFA材…

Linux:运营商在网络中扮演的角色

文章目录 ip目前的问题ip目前的几种解决方案私有ipVS公有ip运营商再谈ip划分运营商的角度看ip 本篇总结的是运营商在网络中扮演的角色 ip目前的问题 在目前看来,ip最大的问题是ip号不够用了,那这个问题如何解决呢? 在之前的内容中有子网掩…

【GlobalMapper精品教程】073:像素到点(Pixels-to-Points)从无人机图像轻松生成点云

文章目录 一、工具介绍二、生成点云三、生成正射四、生成3D模型五、注意事项一、工具介绍 Global Mapper v19引入的新的像素到点工具使用摄影测量原理,从重叠图像生成高密度点云、正射影像及三维模型。它使LiDAR模块成为已经功能很强大的的必备Global Mapper扩展功能。 打开…

BabyAGI源码解读(1)-主体配置部分

1. BabyAGI概览 babyAGI是一个AI驱动的任务管理系统,其中babyagi.py脚本中定义了整个的流程,使用OpenAI的NLP能力根据目标创建新的任务,使用Chroma和Weaviate作为上下文存储和获取任务结果。 babyAGI实际上是一个死循环,它执行以…

每日一题(力扣136):只出现一次的数字

利用哈希&#xff1a;时间复杂度O(n)&#xff0c;空间复杂度O(n) class Solution { public:int singleNumber(vector<int>& nums) {if (nums.size() 1){return nums[0];}unordered_map<int, int> map;int len nums.size();for (int i 0; i < len; i){if…

计算机视觉的技术领域

计算机视觉是一门研究如何使计算机能够“看”和理解图像和视频的科学。它结合了图像处理、模式识别、机器学习、人工智能等多个领域的技术。以下是计算机视觉中的一些关键技术领域。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 1. …

梨花带雨网页音乐播放器二开优化修复美化版全开源版本源码

源码简介 最新梨花带雨网页音乐播放器二开优化修复美化版全开源版本源码下载 梨花带雨播放器基于thinkphp6开发的XPlayerHTML5网页播放器前台控制面板,支持多音乐平台音乐解析。二开内容&#xff1a;修复播放器接口问题&#xff0c;把接口本地化&#xff0c;但是集成外链播放器…

【C++】 vector <string> 的超详细解析!!!

目录 一、前言 二、 vector <string> 的个人理解和总结 三、vector <string> 的初始化 四、vector <string> 的输入 \ 输出 五、vector <string> 中的注意事项 六、常考面试题 七、共勉 一、前言 在【C】中&#xff0c;vector 是一个动态数组…

加域报错:无法完成此功能

在尝试将计算机加入Windows域时&#xff0c;如果收到“无法完成此功能”的提示&#xff0c;这可能由多种原因引起&#xff0c;以下是一些常见的问题及其解决方法&#xff1a; 网络连接问题&#xff1a;确保当前计算机与域控制器之间的网络连接是正常的。可以尝试使用ping命令测…

Linux 环境下 Redis基础配置及开机自启

Linux 环境下 Redis基础配置及开机自启 linux环境安装redis<redis-6.0.5.tar.gz> 1-redis基本安装配置 解压 获取到tar包后&#xff0c;解压到相关目录&#xff0c;一般是将redis目录放在usr/local/redis目录下&#xff0c;可以使用-C指定到解压下目录 tar -zvxf re…