如何更改最新或较旧的 Git 提交的消息

Git安装包 下载 window版本 Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。 [1] Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 立即下载

<!--

  • @Author: starkwang
  • @Contact me: https://shudong.wang/about
  • @Date: 2019-10-22 18:49:56
  • @LastEditors: starkwang
  • @LastEditTime: 2019-10-22 18:50:39
  • @Description: 如何更改最新或较旧的 Git 提交的消息

-->

永久链接: https://shudong.wang/10620.html

使用 Git 时,可能会遇到需要编辑提交消息的情况。做出更改的原因有很多,例如,修正了错字,删除了敏感信息或添加了其他信息。

本指南说明了如何更改最新或较旧的 Git 提交的消息。

更改最近的提交

该 git commit --amend 命令允许您更改最新的提交消息。

未推送的提交

要更改尚未推送到远程存储库的最新提交的消息,请使用该 --amend 标志再次提交。

  1. cd 到终端中的存储库目录。

  2. 运行以下命令以修改最新提交的消息:

    <div class="highlight">

    git commit --amend -m &#34; New commit message. &#34;`</pre></div>
    

    该命令的作用是用新的覆盖新的提交。 该 -m 选项允许您在不打开编辑器会话的情况下在命令行上编写新消息。

    在更改提交消息之前,您还可以添加以前忘记的其他更改:

    <div class="highlight"><pre class="chroma">git add . git commit --amend -m &#34;New commit message.&#34;</pre></div>

    推送提交

    被修改的提交是具有不同 SHA-1 的新实体。先前的提交将不再存在于当前分支中。

    通常,您应该避免修改已经推送的提交,因为这可能会给基于此提交工作的人们带来麻烦。在更改推送的提交之前,最好先咨询您的开发人员。

    如果更改了最近推送的提交的消息,则必须强制推送它。

  3. 导航到存储库。

  4. 修改最新的推送提交的消息: <div class="highlight"><pre class="chroma">git commit --amend -m &#34; New commit message. &#34;</pre></div>

  5. 强制推送以更新远程存储库的历史记录: <div class="highlight"><pre class="chroma">git push --force branch-name</pre></div>

    更改较早或多次提交

    如果需要更改较旧或多次提交的消息,则可以使用交互方式 git rebase 来更改一个或多个较早提交。

    该 rebase 命令将重写提交历史记录,强烈建议不要对已经推送到远程 Git 存储库的提交进行重新整理。

  6. 导航到包含要更改的提交消息的存储库。

  7. 键入 git rebase -i HEAD~N ,其中 N 是执行基础更改的提交次数。例如,如果要更改第 4 次提交和第 5 次最新提交,请输入: <div class="highlight"><pre class="chroma">git rebase -i HEAD~5</pre></div> 该命令将在默认的文本编辑器中显示最新的 X 次提交: <div class="highlight"><pre class="chroma">`pick 43f8707f9 fix: update dependency json5 to ^ 2.1.1 pick cea1fb88a fix: update dependency verdaccio to ^ 4.3.3 pick aa540c364 fix: update dependency webpack-dev-server to ^ 3.8.2 pick c5e078656 chore: update dependency flow-bin to ^ 0.109.0 pick 11ce0ab34 fix: Fix spelling.

    Rebase 7e59e8ead..11ce0ab34 onto 7e59e8ead (5 commands)`</pre></div>

  8. 移至要更改的提交消息的行,并替换 pick 为 reword : <div class="highlight"><pre class="chroma">`reword 43f8707f9 fix: update dependency json5 to ^ 2.1.1 reword cea1fb88a fix: update dependency verdaccio to ^ 4.3.3 pick aa540c364 fix: update dependency webpack-dev-server to ^ 3.8.2 pick c5e078656 chore: update dependency flow-bin to ^ 0.109.0 pick 11ce0ab34 fix: Fix spelling.

    Rebase 7e59e8ead..11ce0ab34 onto 7e59e8ead (5 commands)`</pre></div>

  9. 保存更改并关闭编辑器。

  10. 对于每个选定的提交,将打开一个新的文本编辑器窗口。更改提交消息,保存文件,然后关闭编辑器。 <div class="highlight"><pre class="chroma">fix: update dependency json5 to ^ 2.1.1 </pre></div>

  11. 强制将更改推送到远程存储库: <div class="highlight"><pre class="chroma">`git push --force branch-name </div>

结论

要更改最新的提交消息,请使用 git commit --amend 命令;使用 git rebase -i HEAD~N 来更改旧的或多条提交消息。

一般不要修改推送的提交,因为它可能会给您的同事带来很多问题。


作者博客
![2019-10-21-19-20-20](http://s.shudong.wang/2019-10-21-19-20-20.png)

STM32 ADC精准采集12V电池电压:从分压电路到软件校准全解析 本文详细解析了STM32 ADC精准采集12V电池电压的全过程,涵盖分压电路设计、电阻选型、ADC配置优化及软件校准方法。针对电池电压监测中的噪声、温漂等挑战,提供了硬件滤波与软件过采样等实战技巧,确保测量精度达到1%以内,满足嵌入式设备对电源管理的严苛要求。 阅读详情

相关推荐

ArcGIS Pro2.5深度学习使用注意事项

ArcGIS Pro2.5深度学习使用中的注意事项1、ArcGIS Pro2.5深度学习使用中的注意事项1.1、Label深度学习样本工具参数介绍1.2、准备数据参数介绍1.3、训练模型介绍1.4、ArcGIS Pro2.5深度学习推理工具和模型对应关系介绍1.4.1、Classify Objects Using Deep Learning1.4.2、Classify Pixels Using D...

GIS哼哈哈的博客 7201

Git push 常见用法

Git push 在使用git commit命令将修改从暂存区提交到本地版本库后,只剩下最后一步将本地版本库的分支推送到远程服务器上对应的分支了,如果不清楚版本库的构成,可以查看我的另一篇,git 仓库的基本结构。 git push的一般形式为 git push <远程主机名> <本地分支名> <远程分支名> ,例如 git push origin maste...

Blog 4796

蓝牙Channel Sounding为真正的距离感知赋能

1:工作原理蓝牙™信道探测使用两种经过验证的测距方法——PBR(PBR)和RTT(RTT),实现蓝牙设备之间的安全精密测距。

weixin_43720159的博客 807

git找到指定分支的最新commit

git 操作

ReadyShowShow的博客 1787

Spring AI Alibaba Graph进阶:如何用图算法优化你的推荐系统?

本文深入探讨了如何利用Spring AI Alibaba Graph的图算法优化推荐系统。通过分析用户行为数据的网络化特征,结合加权随机游走和社区发现算法,显著提升推荐精准度和用户点击率。文章还分享了混合推荐架构设计、性能优化技巧及生产环境中的实战经验,为开发者提供了一套完整的图算法推荐解决方案。

weixin_33738555的博客 128

避坑指南:在Ubuntu 20.04上从零部署IS-Fusion环境(含CUDA 11.1和PyTorch 1.10.1配置)

本文提供了在Ubuntu 20.04系统上从零部署IS-Fusion 3D目标检测环境的详细避坑指南。内容涵盖CUDA 11.1、PyTorch 1.10.1、spconv等核心组件的精确版本安装与兼容性配置,并指导如何准备nuScenes数据集及启动模型训练,旨在帮助研究者和开发者高效搭建稳定的多模态融合算法开发环境。

gitlab7runner的博客 552

如何修改Git提交记录

如何修改Git提交记录 因为错误,补充或说明格式等问题,有时需要修改已执行的Git提交记录。这个操作并不常用,很多人并不清楚如何操作,所以特意写了本博客进行详细说明。 开始前先学一个英文单词: amend /əˈmend/ vt. 修改;改善,改进; vi. 改正,改善;改过自新 The seller will request to amend the letter of credit. ...

ScilogyHunter的博客 5339

Cortex-M TrustZone实战:从硬件隔离到安全交互的嵌入式开发指南

在嵌入式系统开发中,硬件安全隔离是构建可信执行环境(TEE)的核心技术。其原理是通过处理器硬件机制,将系统资源划分为安全与非安全域,实现内存、外设和代码的强制访问控制。这项技术的核心价值在于,它能在单一芯片上为资源受限的物联网(IoT)设备、智能传感器等提供芯片级的安全基础,无需依赖外置安全元件,从而降低BOM成本并简化设计。典型的应用场景包括保护设备密钥、实现安全启动、构建安全服务(如加密、密钥管理)以供应用程序调用。本文聚焦于Arm Cortex-M系列微控制器上的TrustZone技术实现,针对开发中

weixin_42639246的博客 300

GIT修改上次提交的代码,做一次更完美的commit

在git中提交后,如果想修改刚刚提交的代码,做一次更完美的commit。

u010812071的博客 2928

简单的服务器取证

记一次入门服务器取证——药品直销网,涵盖旧版本宝塔、静态IP的配置更改、代码的理解

m0_74559567的博客 3756

OceanBase数据库:从入门到精通全栈教程目录(含架构解析、性能调优与实战案例)

《OceanBase数据库专栏》全面解析蚂蚁集团自主研发的分布式关系型数据库,涵盖从基础到高级的完整知识体系。专栏分为入门篇、原理篇、使用篇等七大模块,包含35+篇深度文章,详细讲解OceanBase的高可用架构、Paxos协议、LSM树存储引擎等核心技术。特别提供MySQL/Oracle迁移指南、金融/电商场景实践案例,以及性能调优、运维监控等实战内容。适合开发者、DBA及架构师快速掌握OceanBase的核心特性和行业应用,助力企业实现数据库分布式转型。

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 982

git 如何撤销 commit、git commit 提交之后如何取消本次提交、如何更改提交的内容

我们在使用 git 时,有时会一不小心就点击了 commit,那么如何插销本次提交呢? 可以先用 git reflog 查看历史提交记录 软撤销 --soft 本地代码不会变化,只是 git 转改会恢复为 commit 之前的状态 不删除工作空间改动代码,撤销 commit,不撤销 git add . git reset --soft HEAD~1 表示撤销最后一次的 commit ,1 可以...

止水聊技术 3万+

ue 打包linux程序 在windows系统 2026

ue 打包linux程序 在windows系统 2026

jacke121的专栏 372

git 修改提交消息_在Git中更改提交消息

git 修改提交消息 介绍 Git是分布式版本控制系统,如今,它已成为许多开源和封闭源软件项目(包括Eclipse)的事实上的版本控制系统。 Git是令人惊叹的工具,具有很大的灵活性。 谈到灵活性,我对git的有趣功能感到惊讶,它允许您编辑和更改以前的提交消息。 基本上有两种方法可以做到,例如- 使用修正开关 使用变基 让我们来看看这些。 使用修正开关 这是更改最近...

danpu0978的博客 1303

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

在Git中更改提交消息

介绍 Git是分布式版本控制系统,如今,它已成为许多开源和封闭源软件项目(包括Eclipse)的事实上的版本控制系统。 Git是令人惊叹的工具,具有很大的灵活性。 谈到灵活性,我对git的有趣功能感到惊讶,它允许您编辑和更改以前的提交消息。 基本上有两种方法可以做到,例如- 使用修正开关 使用变基 让我们来看看这些。 使用修正开关 这是更改最近提交的提交消息的简单...

danpu0978的博客 237

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

【git 整理提交】git rebase -i 命令详解

git rebase -i 详解 变基时有六个命令可用: pick 更改提交顺序、删除提交 record 修改提交消息(提交内容不变) edit修改提交 squash合并提交 fixup合并提交,只保留较早的提交信息 exec 执行任意shell命令

the_power的博客 7万+

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

如何解决git所说的“提交更改或在合并之前将其隐藏”?

I made some updates on my local machine, pushed them to a remote repository, and now I'm trying to

CHCH998的博客 3516

git提交模板_更改默认的Git提交消息模板

git提交模板 我们对项目进行了大量更改,并将其提交到git存储库中,然后将这些更改与正确的提交消息一起提交。 在与许多协作者同时工作于更大的项目上进行协作时,提交消息应该是正确的,并反映出这些更改是什么。 许多大型项目都有标准的提交消息模板,协作者可以随时了解/了解这些更改。 现在,如果您尝试在git项目中提交任何更改而没有提供任何提交消息,则会使用vi编辑器或配置有默认提交模板...

danpu0978的博客 668

更改默认的Git提交消息模板

我们对项目进行了大量更改,并将其提交到git存储库中,然后将这些更改与正确的提交消息一起提交。 在与许多协作者同时工作于更大的项目上进行协作时,提交消息应该是正确的,并反映出这些更改是什么。 许多大型项目都有标准的提交消息模板,协作者可以随时了解/了解这些更改。 现在,如果您尝试在git项目中提交任何更改而没有提供任何提交消息,则会使用vi编辑器或配置有默认提交模板的git编辑器...

danpu0978的博客 685

在 Git 中撤消更改的 6 种方法!

在 Git 中撤消更改的 6 种方法! Git 详细讲解

chengbo_eva的博客 8182

如何将当前更改提交到git中的不同分支[重复]

This question already has an answer here: 这个问题在这里已有答案: How do I merge my local uncommitted

asdfgh0077的博客 2393

Git提交规范

以下规范参考Angular提交的规范。对于如何格式化git commit消息,我们有非常精确的规则。这导致更多 在浏览项目历史时,易于理解的可读信息。但同时 我们使用git commit消息来生成基于AngularJS提供的消息模板。1、commit message format消息格式每个提交消息由一个头、一个正文和一个页脚组成。header有一个特殊的 包含类型、范围和主题的格式。header是必填的,header的范围是可选的。提交消息的任何一行不能超过100个字符!

专注于大数据方向,区块链,前后端,数据可视化,人工智能等领域 1万+

git 批量提交_如何批量更新Git提交消息

git 批量提交At Mozilla we'remostly strict about receiving contributions via git/GitHub. Aside from requiring tests and enforcingcode quality, one basic of submitting a commit (or several) is that the c...

culuo8053的博客 1037

【翻译】如何编写 Git 提交消息

目录如何编写 Git 提交信息引子:为什么好的提交消息很重要编写好的 Git 提交消息的七条规则1. 用一个空行分隔标题和主体2. 标题控制在 50 个字符以内3. 标题的首字母大写4. 标题的末尾不要写句号5. 标题使用祈使语气6. 主体每 72 个字符折行7. 用主体解释做了什么和为什么,而不是如何做到提示学着热爱命令行。把 IDE 抛在脑后。阅读 Pro Git脚注 PS:专业的网站就是不一样,编辑器比某乎批站强多了! 个人博客及创作索引页正在制作中,此处仅释出本地第一大版本。原文档基于 Hexo

小叶Little_Ye的博客 1294

git:切换分支并忽略任何更改而不提交

I was working on a git branch and was ready to commit my changes, so I made a commit with a useful

xfxf996的博客 3182

git 清除已提交的记录 git 清除本地commit提交记录

git清除已提交的记录git清除本地commit提交记录

Java、Python、AI、前沿技术等领域的技术总结和经验分享。 7401
上一篇: 使用pm2优雅的让你的项目自动发布上线
下一篇: mysql中int、bigint、smallint 和 tinyint的区别详细介绍
西树与前端
博客等级 码龄12年 2粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值