【干货向】我想试试教会你如何修改Git提交信息

git 提交后怎么修改commit的描述信息? 现在应该99%的同学都是使用`git`进行代码版本管理了吧?那么有没有过在代码提交后发现commit的描述信息写错了的情况(`强迫症真的会被逼死`🤯)?那么我们需要怎么修改git提交后的描述信息呢? 阅读详情

Git是目前IT行业使用率最高的版本控制系统,相信大家在日常工作中也经常使用,每次Git提交都会包含提交信息,常用的包括说明、提交人和提交时间等,此篇文章主要向大家介绍下如何修改这些信息,这些命令在正常使用时可能不常用,但还是建议收藏以备不时之需。

新提交

指定提交信息

在使用git commit命令时,通过-m或者--message参数指定本地提交的信息,示例如下:

git commit -m "<提交信息>"

在这里插入图片描述

指定提交日期

正常的git提交会默认使用当前时间,但在提交时可以通过--date参数来指定提交时间,不过时间内容的格式与日常使用的格式不一致,此处可以通过git log查看历史后复制出来然后进行修改。

git commit -m "<提交信息>" --date "Thu Jun 29 06:59:36 2023 +0800"

在这里插入图片描述
可以看到通过手动指定后第二次提交的时间在第一次提交之前,这与正常提交是不相符的。修改时间可能会导致git记录错乱,仅建议在明确需要修改时间的场景下使用。

指定提交人

正常在提交时git会默认使用当前项目设置的作者信息,如果未设置则使用本机git全局配置,但在提交时可以通过--author参数指定提交人,参数格式必须为name<email>

git commit -m "change author" --author "aotian<7610aotian@sina.com>"

在这里插入图片描述
可以看到最新一次的提交作业已经与前两次的不一致了。

追加提交

在工作中偶尔也会遇到提交完了以后发现漏下了某个文件的问题,再提交一次虽然可以解决,但git提交记录会比较难看,强迫症患者看了那是浑身难受,其实我们可以通过追加的方式进行处理,这样可以仅保留同一个记录。追加提交时也可以使用以上提到的参数修改提交信息。

git commit --amend

在这里插入图片描述
可以看到ammend之后最近一次提交的信息已经被修改,但作者和时间并没有变化。

历史提交

修改提交说明

​如果我们有整理git提交记录的习惯,那工作中肯定需要去修改历史提交,此时我们需要先回退到要修改的提交之前,然后进行修改,还是上边的例子,如果我们需要修改第二次提交,那么我们需要先回退到第一次提交。

git rebase -i d3dabbe3dce8717b264bba23ee78f19c58bb6fed

执行后会打开一个临时文件,在文件头部会列出当前提交后续所有的提交(请注意这个列表的顺序是按照提交时间顺序排列的),每个提交行首的pick字段代表需要执行的操作,具体选项已经在下方注释中进行了说明,常用的包括默认的pick,修改时使用的reword和edit,二者区别是reword提交后会自动合并,所以只能编辑提交信息,而edit提交后会停留在修改的提交,之后可以通过ammend修改提交内容,此处我们仅需要修改提交信息,所以将第一行pick修改为reword,之后保存即可。这一部分的操作会因git设置的不一致可能有所差异,有的命令行里的vim,有的是外部的编辑器(例如Visual Studio Code等)。
在这里插入图片描述
保存后会自动打开另外一个临时文件,这个文件里展示的就是上一步中指定的要修改的提交,文件第一行就是提交信息,修改后保存即可完成修改,如果提交信息内容为空则会中止此次修改,具体内容如下图:
在这里插入图片描述
修改后执行git log查看提交记录即可发现中间的内容已经被修改
在这里插入图片描述

修改作者或日期

在上一部分我们修改了提交信息,中间提到过reword和edit的区别,而此处我们修改作者或提交日期则需要使用到edit,同样使用git rebase -i回退到要修改的内容之前,然后在编辑临时文件时将第一行修改为edit,然后保存,之后我们会看到如下信息:
在这里插入图片描述此时提交停在了第二个提交处,也就是我们要修改的提交,在控制台的提示中可以看到通过git rebase --continue可以回到最新提交,而我们要修改作者或提交日期则需要使用git commit --amend,这个命令同样可以使用--date和--author参数。

git commit --amend --author "aotian<7610aotian@sina.com>" --date "Thu Jun 30 16:59:36 2023 +0800"

执行后会打开临时文件确认提交信息,直接保存即可,保存后执行git rebase --continue回到最新提交,然后执行git log查看提交信息即可发现中间的提交已经被修改,且时间晚于排在它后面的提交。
在这里插入图片描述

欢迎大家关注我的个人公众号“IT匠心工坊”,我会更新一些IT相关的知识,目前主要是Java方向,希望可以对你有所帮助

Git 如何修改提交日期和作者日期 首先区别两者概念: 提交日期: 作者日期: 现在我们要修改该节点(红框框中的节点)的提交日期,首先,复制前一节点的commit ID,然后使用 git rebase -i "commit id" 然后出现如下信息 将“pick” 改为“e”然后保存并退出编辑器 然后出现如下信息 然后使用以下命令 GIT_COMMITTER_DATE="2021-02-04T09:51:07" git commit --amend --date="2021-02-04T09:51:07" 阅读详情

相关推荐

【C++】C++异常语法、使用、规范、异常安全及异常的优缺点

实际中我们可以可以去继承exception类实现自己的异常类。但是实际中很多公司像上面一样自己定义一套异常继承体系。因为C++标准库设计的不够好用。如果有一个块抛出一个异常,捕获异常的方法会使用 try 和 catch 关键字。try 块中放置可能抛出异常的代码,try 块中的代码被称为保护代码。C++ 提供了一系列标准的异常,定义在 中,我们可以在程序中使用这些标准的异常。异常是一种处理错误的方式,

weixin_51692487的博客 1524

Git如何修改commit信息

git如何修改最近一次的commit信息 gitcommit --amend 进入vim操作界面之后 点击字母键 i 然后进入INSERT模式 然后进行commit信息修改 然后ESC 然后 :wq 保存退出 然后执行gitlog 会发现最近的一次commit信息被修改成功了 如何修改已经提交到git上的commit信息 ...

好好学习,天天向上 1万+

一阶电路基础知识

一阶电路(First-order circuit)是指由一个电感(L)或一个电容(C)和一个电阻(R)组成的电路。根据电感或电容的位置,一阶电路可以分为RC电路、RL电路、LC电路、RLC电路。一阶电路常用于滤波、放大、时序控制等各种电子设备和系统中。通过调整电阻、电容或电感的数值,可以改变电路的频率响应、滞后/提前相位等特性,实现不同的功能和性能一阶、二阶电路区别一阶电路由一个电容或一个电感与一个电阻组成,而二阶电路则由两个电容或两个电感与一个电阻组成。

weixin_45365488的博客 1万+

git修改历史提交(commit)信息

git修改历史提交(commit)信息

Flora's Zone 2万+

强化学习实战:如何用PPO算法训练一个超级马里奥AI(附完整代码)

本文提供了一份详细的强化学习实战指南,教你如何使用PPO算法训练一个能玩《超级马里奥》的AI智能体。内容涵盖从环境搭建、自定义奖励函数设计到PPO智能体的PyTorch完整实现,并附有可运行的代码,帮助开发者快速上手游戏AI开发。

h6j7k8l9p0的博客 947

从公式到实践:用SPSS解锁香农多样性指数的生态洞察

本文详细介绍了如何利用SPSS软件计算和应用香农多样性指数进行生态研究。从基础公式解析到SPSS实战操作,再到生态决策支持,全面展示了该指数在物种丰富度和均匀度量化中的价值。文章特别强调了SPSS操作中的关键技巧和常见误区,为生态研究者提供了一套完整的分析解决方案。

weixin_30832143的博客 465

Git提交代码错了吃后悔药的几种常用办法

1. 前言 写代码都会犯错误,不小心提交了一个错误我该怎么办?提交的描述信息我该怎么办?如果你也遇到这个问题,那么今天胖哥分享的这篇文章将非常适合你。2. Commit 错了怎么办 放心...

码农小胖哥 3878

【新版系统架构】系统架构设计师教程全篇知识点提炼

信息系统的5个基本功能:输入、存储、处理、输出和控制信息系统的发展:诺兰模型:初始阶段、传播阶段、控制阶段、集成阶段、数据管理阶段、成熟阶段信息系统的分类:传统的信息系统分为:业务(数据)处理系统、管理信息系统(MIS)、决策支持系统(DSS)、专家系统(ES)、办公自动化系统(OAS)等5类信息系统的生命周期:1、产生阶段2、开发阶段(总体规划、系统分析、系统设计、系统实施、系统验收阶段)3、运行阶段4、消亡阶段信息系统建设原则:1、高层管理人员介入原则。

分享技术干货和灵感、推荐新书和好玩的项目、分享Java面试题 1万+

eclipse git提交代码_Git 提交代码之后的几种后悔药

1. 前言写代码都会犯错误,不小心提交了一个错误我该怎么办?提交的描述信息我该怎么办?如果你也遇到这个问题,那么今天胖哥分享的这篇文章将非常适合你。DD自研的沪牌代拍业务,点击直达2. Commit 错了怎么办放心都是有后悔药吃的,我们来看看。场景一假如你git commit了一堆代码,但是你发现本次Commit的描述信息有点随意,你可以这样:gitcommit--amend-m“...

weixin_39760206的博客 403

使用Visual Studio 2022创建CUDA编程项目

本文介绍了在Visual Studio 2022中配置CUDA开发环境的完整流程。首先需要安装VS2022并勾选C++开发组件,然后安装CUDA Toolkit和兼容的NVIDIA驱动。创建项目时选择CUDA模板,VS会自动生成数组相加的示例代码。项目配置包含CUDA头文件依赖和链接器设置(cudart_static.lib)。文章详细说明了从环境搭建到代码编写、调试的完整步骤,帮助开发者快速上手CUDA编程。

新兴IT民工的专栏 1万+

NX二次开发常用函数——从一个坐标系到另一个坐标系的转换(UF_MTX4_csys_to_csys )相同体坐标转化

本文介绍了在项目开发中实现坐标转换的方法,重点解析了两个关键函数UF_MTX4_csys_to_csys和UF_MTX4_vec3_multiply的使用。通过4个变换矩阵(transform1-4)实现工作坐标系与绝对坐标系之间的相互转换,并以圆柱体为例详细说明了坐标转换的具体实现过程,包括原点、X/Y轴方向的转换处理。相比之前采用的if-else判断方法,这种矩阵转换方式在代码复杂度和运行效率上都更具优势。

weixin_47753171的博客 599

Git 提交代码之后的几种后悔药

1. 前言写代码都会犯错误,不小心提交了一个错误我该怎么办?提交的描述信息我该怎么办?如果你也遇到这个问题,那么今天胖哥分享的这篇文章将非常适合你。DD自研的沪牌代拍业务,点击直达2. ...

程序猿DD 1032

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的农作物害虫检测系统(深度学习模型+UI界面+训练数据集)

随着人工智能技术在农业领域的深入应用,基于深度学习的害虫检测系统已成为智慧农业的重要组成部分。本文详细介绍了一种基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的农作物害虫检测系统,涵盖算法原理、数据集构建、模型训练、系统实现及完整代码。该系统能够实时检测并识别多种农作物害虫,为农业生产提供精准的病虫害监测解决方案。

YOLO 273

git 提交错了?别慌,直接删除提交记录

点击关注公众号,Java干货及时送达????为什么要删除提交历史前几天产品提了个很扯淡的需求,我在代码了进行了吐槽....要命的是我不下心进行了代码提交:我们的远程仓库大家都能看见的这要是被其他人发现就惨了!当务之急,我必须立刻马上删除这一条提交记录!!于是,我打开百度,搜索到两个救命关键词:git revert和git reset!这两个命令都有撤销操作的功能!使用git revert撤销提交reve...

民工哥的博客 570

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

git提交后的代码在哪儿_Git提交代码错了吃后悔药的几种常用办法

1. 前言 写代码都会犯错误,不小心提交了一个错误我该怎么办?提交的描述信息我该怎么办?如果你也遇到这个问题,那么今天胖哥分享的这篇文章将非常适合你。2. Commit 错了怎么办 放心都是有后悔药吃的,我们来看看。场景一假如你git commit了一堆代码,但是你发现本次Commit的描述信息有点随意,你可以这样:gitcommit--amend-m“新的提交消息”场景二你本来打...

weixin_39573781的博客 149

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Git提交代码错了,吃后悔药的几种常用办法!

点击上方蓝色小字,关注“涛哥聊Python”重磅干货,第一时间送达来源:码农小胖哥1. 前言写代码都会犯错误,不小心提交了一个错误我该怎么办?提交的描述信息我该怎么办?如果你也遇到这个问...

涛哥聊Python 1724

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

idea代码回滚_Git 提交代码之后的几种后悔药

1. 前言写代码都会犯错误,不小心提交了一个错误我该怎么办?提交的描述信息我该怎么办?如果你也遇到这个问题,那么今天胖哥分享的这篇文章将非常适合你。DD自研的沪牌代拍业务,点击直达2. Commit 错了怎么办放心都是有后悔药吃的,我们来看看。场景一假如你git commit了一堆代码,但是你发现本次Commit的描述信息有点随意,你可以这样:gitcommit--amend-m“...

weixin_42297746的博客 2252

git提交时文件未包含在项目里_10种Git技巧,让你省时省力又省心

全文共1800字,预计学习时长4分钟图片来源:unsplash.com/@sam_truong1. 从另一分支切换单个文件大家是否曾销毁文件只为能重新开始? 或需要在另一分支的某文件中进行更改?而git指令可以实现从另一分支切换文件。git checkout some-other-branch -- yarn.lock同时,也可以使用相同的技巧从特定提交项切换出某个文件。git checkout ...

weixin_42352222的博客 454

vscode中如何拉取git代码_工具 | 手把手教你在VSCode中使用Git

在一个目录下clone项目:git clone XXXXXX.git使用VScode 打开项目右击通过Code打开。使用vscode提交代码1、打开下面视图,添加一行文字:## 测试提交2、点击 + ;相当于git add .3、点击对号;等于git commit -m "备注信息";右边的箭头输入需要备注的信息。然后按 Enter 确定:回车之后,然后我们可以看到。所有的修改的文件,均...

weixin_35697229的博客 4万+

合并代码还在用 git merge 吗?不妨试试 git rebase

点击下方“IT牧场”,选择“设为星标”git merge 和 git rebase 目的都是将一个分支的 commit 合并到到另外一个分支中去,但两者有一定区别。git merge在gi...

ITMuch的专栏 212

Git 不能只会 pull 和 push,试试这5条提高效率的命令吧

点击“终码一生”,关注,置顶公众号 每日技术干货,第一时间送达! 前言 使用 Git 作为代码版本管理,早已是现在开发工程师必备的技能。可大多数工程师还是只会最基本的保存、拉取、推送,遇到一些commit管理的问题就束手无策,或者用一些不优雅的方式解决。 本文分享我在开发工作中实践过的实用命令。这些都能够大大提高工作效率,还能解决不少疑难场景。下面会介绍命令,列出应用场景,手摸手教学使用,让同学们看完即学会。 stash 描述 官方解释:当您想记录工作目录和索引的当前状态,但又想返回一个干

终码一生 126

git干货系列:(一)我是小白,我想要搭建git仓库

前言 咳,小白你好,我是老白。比你早那么一段时间接触git,不知道你之前是否跟我一样是使用SVN来进行版本管理的,在这里,我不会告诉你git的历史,发展以及优势,既然你想学git,我就当你已经懂了这些。我只能告诉你我为什么要学git,因为我觉得它十分的高大上,外加可以装逼~~ 正文 环境安...

chenzou9952的博客 158

git刷新分支列表_10种Git技巧,让你省时省力又省心!

全文共1800字,预计学习时长4分钟图片来源:unsplash.com/@sam_truong1. 从另一分支切换单个文件大家是否曾销毁文件只为能重新开始? 或需要在另一分支的某文件中进行更改?而git指令可以实现从另一分支切换文件。git checkout some-other-branch -- yarn.lock同时,也可以使用相同的技巧从特定提交项切换出某个文件。git checkout ...

weixin_39825322的博客 789

10种Git技巧,让你省时省力又省心!

全文共1800字,预计学习时长4分钟 图片来源:unsplash.com/@sam_truong 1. 从另一分支切换单个文件 大家是否曾销毁文件只为能重新开始? 或需要在另一分支的某文件中进行更改?而git指令可以实现从另一分支切换文件。 git checkout some-other-branch -- yarn.lock 同时,也可以使用相同的技巧从特定提交项切换出某个文件。 ...

读芯术的博客 726

Git命令大全,git命令汇总

不止不觉已经过了两个月了,慢慢的收敛自己,慢慢的积累,写代码的人不可能一个人完成所有的项目,庞大的代码群,毕竟人不是神,这就需要大家的合作,那么为了解决我们所修改的地方被下一个读者或者其他正在修改的人熟知而不造成冲突,那么这就需要使用到Git这个傻瓜式内容追踪狂魔。 先简单介绍一下git:git是一个开源分布式控制系统,git是用于linux内核开发的版本控制工具。 这里说一个小故事话说linux...

蚂蝗征途 332
上一篇: 【建议收藏】Log4j配置详解
下一篇: SpringBoot项目统一处理返回值和异常
小明同学的学长
博客等级 码龄3年 54粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值