如何修改Git某次commit提交的时间

Git 系列教程(6)- 查看 commit 提交历史 查看提交历史 在提交了若干更新,又或者克隆了某个项目之后,如何查看提交历史 git log 官方栗子 运行下面的命令获取该项目: git clone https://github.com/scha 运行 git log 命令 可以获取到的信息 不传入任何参数的默认情况下,git log会按时间先后顺序列出所有的提交,最近的更新排在最上面 会列出每个提交的 SHA-1 校验... 阅读详情
AI摘要

本文详细介绍了如何在Git中修改最近一次或特定提交的作者日期和提交者日期,包括使用`git commit --amend`和交互式rebase的方法,以及实际操作示例。

1.修改最近一次提交的作者日期和提交者日期

如果要修改最近一次commit的作者日期和提交者日期,直接使用 git commit --amend即可

注:日期格式须为ISO-8601格式

GIT_COMMITTER_DATE="2017-10-08T09:51:07" git commit --amend --date="2017-10-08T09:51:07"

2.修改某次提交的作者日期和提交者日期

如果要更改某次(可以是最近一次也可以是非最近一次)提交的作者日期和提交者日期,可以使用交互式rebase:

  1. 执行git rebase -i COMMIT_SHA , 此COMMIT_SHA为待修改日期的commit的前一个commit的commit sha

  2. 在vi弹出交互信息中将待修改日期的commit前的pick修改为e

  3. 执行日期修改命令 GIT_COMMITTER_DATE="2017-10-08T09:51:07" git commit --amend --date="2017-10-08T09:51:07"

  4. 执行 git rebase --continue转到下一个commit

  5. 重复此过程,直到修改所有提交。 通过git status可查看进展。

3.修改示例

当前git log提交信息如下

admin@DESKTOP-PC MINGW64 /e/TestProj/ModifyTimeTest (master)
$ git log --oneline
2fe64c4 (HEAD -> master) modify Readme.md 3
6b98331 modify Readme.md 2
98ddd80 modify Readme.md 1
fcfc064 add Readme.md

假设此时需要修改 6b98331 modify Readme.md 2这一commit的作者日期和提交者日期

修改步骤为:

  1. 执行交互式变基命令 git rebase -i 98ddd80
  2. 在弹出的vi编辑信息中,将 6b98331提交前的pick修改为e,随后执行 :wq 保存
e  6b98331 modify Readme.md 2      # 此处原为pick,将pick修改为e / edit
pick 2fe64c4 modify Readme.md 3

# Rebase 98ddd80..2fe64c4 onto 98ddd80 (2 commands)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup <commit> = like "squash", but discard this commit's log message
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# .       create a merge commit using the original merge commit's
# .       message (or the oneline, if no original merge commit was
# .       specified). Use -c <commit> to reword the commit message.
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
  1. 执行 GIT_COMMITTER_DATE="2021-10-22T15:10:07" git commit --amend --date="2021-10-22T15:10:07" 将作者日期和提交者日期均修改为2021-10-22T15:10:07。然后可选择在弹出的vi信息编辑窗中可修改提交日志,然后执行 :wq 保存

  2. 然后执行 git rebase --continue转到下一个提交,直到保存所有修改。完成后再使用git log查看提交信息即可看到提交信息已被修改

上述示例的完整日志如下:

admin@DESKTOP-PC MINGW64 /e/TestProj/ModifyTimeTest (master)
$ git log --oneline
2fe64c4 (HEAD -> master) modify Readme.md 3
6b98331 modify Readme.md 2
98ddd80 modify Readme.md 1
fcfc064 add Readme.md

admin@DESKTOP-PC MINGW64 /e/TestProj/ModifyTimeTest (master)
$ git rebase -i 98ddd80
Stopped at 6b98331...  modify Readme.md 2
You can amend the commit now, with

  git commit --amend

Once you are satisfied with your changes, run

  git rebase --continue

admin@DESKTOP-PC MINGW64 /e/TestProj/ModifyTimeTest (master|REBASE 1/2)
$ GIT_COMMITTER_DATE="2021-10-22T15:10:07" git commit --amend --date="2021-10-22T15:10:07"
[detached HEAD 137f41d] modify Readme.md 2
 Date: Fri Oct 22 15:10:07 2021 +0800
 1 file changed, 16 insertions(+)

admin@DESKTOP-PC MINGW64 /e/TestProj/ModifyTimeTest (master|REBASE 1/2)
$ git status
interactive rebase in progress; onto 98ddd80
Last command done (1 command done):
   edit 6b98331 modify Readme.md 2
Next command to do (1 remaining command):
   pick 2fe64c4 modify Readme.md 3
  (use "git rebase --edit-todo" to view and edit)
You are currently editing a commit while rebasing branch 'master' on '98ddd80'.
  (use "git commit --amend" to amend the current commit)
  (use "git rebase --continue" once you are satisfied with your changes)

nothing to commit, working tree clean

admin@DESKTOP-PC MINGW64 /e/TestProj/ModifyTimeTest (master|REBASE 1/2)
$ git rebase --continue
Successfully rebased and updated refs/heads/master.

admin@DESKTOP-PC MINGW64 /e/TestProj/ModifyTimeTest (master)
$ git status
On branch master
nothing to commit, working tree clean
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" 阅读详情

相关推荐

大数据之VIP(Virtual IP,虚拟IP)负载均衡

VIP(Virtual IP,虚拟IP)负载均衡是一种在计算机网络中常用的技术,用于将网络请求流量均匀地分散到多个服务器上,以提高系统的可扩展性、可靠性和性能。

赵玉的专栏 4124

git历史提交信息和提交时间修改

git提交后发现提交的信息不对,该怎么修改呢?又或者想要修改提交时间的话,该如何操作呢?这篇文章就详细教你如何更改提交信息和提交时间!

l602108654的博客 4383

[V-10]ARMv8/v9-CPU Virtualization-CPU虚拟化架构简介(vCPU/vPE)

本文简要介绍了CPU虚拟化架构的基础知识。

基层架构师的分享 1267

git更改提交时间在过去某个时间

【代码】git更改提交时间在过去某个时间。

重装2023的博客 1544

LLMOps的崛起:如何利用Langfuse和Opik构建高效的模型监控与评估体系

本文探讨了LLMOps的崛起,详细介绍了如何利用Langfuse和Opik构建高效的模型监控与评估体系。通过开源工具Langfuse的全景监控方案和Opik的三层评估体系,帮助AI工程团队实现大语言模型的全生命周期管理,提升模型性能和迭代效率。文章还提供了实战技巧和工具链集成方案,助力企业优化AI应用。

ll5678的博客 680

Security Onion的部署(超详细)

本文介绍了开源入侵检测系统securityonion的部署

qq_72583325的博客 6070

修改git commit 时间(包括第一次提交)

使用vim修改 i进入修改模式把pick改为edit后 wq保存。使用命令进入文件中修改commit状态为可修改。进入命令行,修改作者时间和提交时间。修改后保存,可以进行下一个修改。当修改不需要可以放弃。

死神招来的博客 1629

ESP32开发环境与微信小程序通信的完整示例

通过搭建稳定的esp32开发环境,实现其与微信小程序间的双向通信,涵盖Wi-Fi连接、数据收发与协议设计,为物联网应用提供低成本解决方案。

weixin_42126677的博客 1132

git修改commit历史提交时间、作者

GIT_COMMITTER_DATE="2023-11-20T09:51:07" git commit --amend --date="2023-11-20T09:51:07" --author="你git账号" --no-edit。GIT_COMMITTER_DATE="2023-11-20T09:51:07" git commit --amend --date="2023-11-20T09:51:07" --author="你git账号"1、修改最近的几条记录,进入提交记录列表,修改提交记录模式。

qq_53114797的博客 2463

系统回溯信息:遇到严重错误。已将回溯写入...PTC... raceback.log请将其发送给|技术支持|。

一、问题分析 这种问题一旦遇上了,如果忘了保存,直接心态爆炸。 该问题一般是显卡驱动的问题。ProE/Creo对显卡的基本要求是:支持Open_GL的3D显卡,分辨率为1024×768像素以上,推荐使用64位独立显卡,显存512MB以上。如若显卡性能太低,打开软件后易自动退出。 二、解决方法 <1>有一个非常简单的方法是:在config.pro文件中,改变图形配置graphics为” win32_gdi”而不是默认的“...

幕光倾城的博客 2万+

【华为OD机试真题 新系统】1029、字符串处理 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS)

【华为OD机试真题 新系统】1029、字符串处理 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS) 华为od机试,华为od机试真题,华为od机试E卷,华为odE卷,华为od机试真题E卷,华为OD,华为OD机试,华为OD机试真题,华为od机考,华为od机试D卷,华为od机试真题D卷,华为od手撕代码,华为od,华为od机试C卷,华为od e卷,华为2026e卷,od机试,2026E卷,华为OD机试E卷,什么是华为od,华为od介绍,全面了解华为od,2026华为od,如何备战华为od,

KJ.JK 218

修改git提交记录的提交时间

摘要:修改本地最近一次未推送的Git提交时间,可使用git commit --amend命令配合--date参数。示例命令为git commit --amend --date="2025-11-01T12:00:00",该操作仅影响本地提交记录。(约100字)

Az0903的博客 286

ESP32-C3入门教程 环境篇③——VS Code IDE快速入门

文章目录一、安装Visual Studio Code二、安装扩展三、配置ESP-IDF 插件四、创建工程五、配置工程5.1 选择目标芯片5.2 项目配置六、编译工程七、固件分析七、固件下载八、串口日志九、单步调试 一、安装Visual Studio Code 下载并安装Visual Studio Code 二、安装扩展 左侧扩展 搜索espressif 点击安装 三、配置ESP-IDF 插件 按下F1按键 输入configure esp-idf extension EXPRESS,如果你

8304

修改git提交时间

git脚本: 此方法使用github上的开源工具完成。感谢无私的奉献者! 操作步骤: github上下载文件 解压文件夹,把git-redate文件置于git安装目录的\mingw64\libexec\git-core文件夹下 去到对应git项目的根目录下,执行如下命令: git redate -c 6 数字6指的是查看最新的6条提交记录 出现如下界面: 输入“1”按回车,进入vi视图界面。在这里可以看到git提交记录的相关信息包括时间 此时熟悉linux操作的同学应该知道怎么操作修改,不熟悉v

weixin_42099041的博客 5454

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

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

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

Git 修改 commit 信息

本文介绍了修改 Git 提交信息的两种方法。对于历史提交,需使用 git rebase -i HEAD~n 进入交互模式,将 pick 改为 edit 后通过 git commit --amend 修改信息,最后用 git rebase --continue 和 git push -f 完成操作。同时提供了修改提交时间的命令格式,还展示了在 IDEA 中直接编辑提交信息的界面操作。适用于需要修正 Git 提交记录的场景。

大家的关注点赞,就是我持续更新的动力。 413

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

gitlab中git修改commit日期等操作记录

修改时间的操作无法修改gitlab系统活动日志记录,但会让gitlab的commits里显示你修改的时间。

catscanner的博客 2371

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

git 历史提交信息和时间修改

需求: 修改git 的commit时间,commit内容,提交用户名修改,并且保持gitlab库上的时间也是过去的时间。

jdlinjian的专栏 756

git修改提交时间命令

git修改提交时间命令 然后用“:wq”保存并退出

【小石头的茅坑】 71万+

Git 合并分支忽略 commit 记录及查看分支的创建时间

平常在测试的时候会开启测试分支,但是不能保证每次提交的 commit log 都是有意义的,而在合并测试分支的时候需要忽略掉这些 commit log,简单的做法是在合并的时候加上。执行了命令之后,会把 develop 修改过的文件合并到 master(已经添加到缓存区等待提交),但是不会自动提交,需要自己执行。的话会自动提交并追加 develop 的 commit log。注意会修改当前 commit id,最好在本地使用。修改最新 commit 记录可以用。命令来提交,如果不加。

dw5235的博客 766

git-提交时间和作者时间的区别

定义介绍提交时间(Committer Date):决定了提交在 Git 历史中的位置,通常影响 GitHub 上提交显示的顺序。作者时间(Author Date):虽然不影响提交的排序,但在每个提交详情页面上可以看到这个时间,它代表的是原始提交的时间。使用场景本地或者远程服务器是根据提交时间进行排序显示提交记录的先后顺序,这也是符合我们常识的;而作者时间不参与排序,只作为显示列。因此我们本地看到的时间并不是提交时间,而是作者时间。这个后面验证。发生时机。

以爱护甲,爱满枫林。 1283

git 批量提交修改文件_Git批量修改提交历史

有些时候我们可能需要批量修改提交历史,当然了,最近一次的提交历史很简单我们可以利用git commit --amend来进行最近一次提交的修改,如果你此时想要更新作者提交时间等也可以在amend之后加上 --date="$(date -R)"但是很多时候我们需要更改的往往不是一条两条提交信息,有些时候需要批量更改提交历史,这个时候我们就可以用到git rebase -i(--interactive...

weixin_39915367的博客 985

【安卓学习之myt】git常用命令(+矢量图+歌曲宝)

环境变量 GIT_COMMITTER_DATE 和 GIT_AUTHOR_DATE:改变历史中的时间戳;请注意,修改提交日期可能会对版本历史造成混乱,因此请谨慎使用此命令,并确保只修改个人使用仓库的提交。–no-edit 参数来避免在修改提交时打开编辑器让你更改提交信息。保持原有的提交信息;PS:git commit --amend 命令用于修改最近一次的提交;另外,如果你想要修改的是最近的一次提交日期,也可以使用。PS:–date 参数来指定新的提交日期;-m 选项后面跟的是新的提交信息;

任我飞的博客 1097

【Git教程】(三)提交详解 —— add、commit、status、stach命令的说明,提交散列值与历史,多次提交及忽略 ~

项目的版本库通常驻留在其.git目录中。其中包含了以提交形式存储的项目历史。由于Git 是个分布式系统,所以同一个项目通常可能会有多个拥有不同历史的版本库。按照 Git 的设计,我们可以在必要时再将这些历史重新合并起来。提交(通常也被称为版本、修订或修改集): 通过commit命令可以创建一次提交, 一 次提交通常存储了项目的某种确定状态,其中包含了该项目中所有文件的情况。每次提交中都包含了与作者和提交日期相关的元数据。

Technology changes the world of life 4109

git日志的查看与修改

1.命令行中查看日志 git log 默认是显示所有的日志信息,之前出来的界面显示的日志,很少。 最后发现,只需要使用键盘上向下键↓,就可以继续浏览更多的日志 空格键,可以翻页浏览日志。  向左←  向右 →  的箭头,可以水平移动查看日志     2.将日志按照格式导出到文件中 git log --pretty=format:'%h was %an, %ar, message:...

weixin_33736048的博客 599

git使用技巧

1. 压缩提交 场景:我们常常使用两个分支:master和dev。 我们希望达到这样的效果:在dev上提交日常开发,在master上提交完整的功能改进。同时,我们不希望在master上看到dev上频繁而琐碎的提交记录。 解决方案: 首先master和dev都起源于同一个初始公共节点; 然后我们在dev分支上进行日常提交; 当我们完成一个完整功能时,我们首先确保所有代码都在dev上进行了提交 然后...

frcoder的博客 395
上一篇: Qt 5.12.9 MaintenanceTool.exe 添加或删除组件 或 增加 Qt Debug information files 调试信息方法
下一篇: wireshark 如何显示原始 TCP SEQ序号
EchoCoder
博客等级 码龄16年 25粉丝 50原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值