git怎么修改commit时间

发布时间 - 2022-07-01 00:00:00    点击率:
在git中,可以利用“git commit --amend”命令来修改commit时间;该方法既可以修改最近一次提交的日期,也可以修改指定某次提交的日期,其中日期的格式需要是“ISO-8601”格式,语法为“GIT_COMMITTER_DATE="时间" git commit --amend --date="时间"”。

本文操作环境:Windows10系统、Git2.30.0版、Dell G3电脑。

git怎么修改commit时间

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:

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

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

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

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

  • 重复此过程,直到修改所有提交。 通过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的作者日期和提交者日期

修改步骤为:

执行交互式变基命令 git rebase -i 98ddd80

在弹出的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  = use commit
# r, reword  = use commit, but edit the commit message
# e, edit  = use commit, but stop for amending
# s, squash  = use commit, but meld into previous commit
# f, fixup  = like "squash", but discard this commit's log message
# x, exec  = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop  = remove commit
# l, label 

执行 GIT_COMMITTER_DATE="2025-10-22T15:10:07" git commit --amend --date="2025-10-22T15:10:07" 将作者日期和提交者日期均修改为2025-10-22T15:10:07。然后可选择在弹出的vi信息编辑窗中可修改提交日志,然后执行 :wq 保存

然后执行 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="2025-10-22T15:10:07" git commit --amend --date="2025-10-22T15:10:07"
[detached HEAD 137f41d] modify Readme.md 2
 Date: Fri Oct 22 15:10:07 2025 +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教程》


# git  # date  # continue  # 提交者  # 转到  # 这一  # 在弹出  # 已被  # 弹出  # 可以使用  # 既可  # 可选择  # 可以利用 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何用y主机助手快速搭建网站?  如何在IIS服务器上快速部署高效网站?  如何快速生成可下载的建站源码工具?  javascript中的try catch异常捕获机制用法分析  如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环  Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区  Claude怎样写约束型提示词_Claude约束提示词写法【教程】  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  网站优化排名时,需要考虑哪些问题呢?  如何快速完成中国万网建站详细流程?  如何在阿里云香港服务器快速搭建网站?  C++用Dijkstra(迪杰斯特拉)算法求最短路径  如何构建满足综合性能需求的优质建站方案?  浅述节点的创建及常见功能的实现  LinuxShell函数封装方法_脚本复用设计思路【教程】  如何在IIS管理器中快速创建并配置网站?  Laravel如何使用Sanctum进行API认证?(SPA实战)  黑客如何通过漏洞一步步攻陷网站服务器?  1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  UC浏览器如何设置启动页 UC浏览器启动页设置方法  Python进程池调度策略_任务分发说明【指导】  javascript事件捕获机制【深入分析IE和DOM中的事件模型】  Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】  php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  微信h5制作网站有哪些,免费微信H5页面制作工具?  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】  HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】  Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  JS实现鼠标移上去显示图片或微信二维码  Laravel如何使用Eloquent进行子查询  Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】  如何基于云服务器快速搭建个人网站?  网站建设整体流程解析,建站其实很容易!  Laravel模型事件有哪些_Laravel Model Event生命周期详解  Android利用动画实现背景逐渐变暗  浅谈javascript alert和confirm的美化  海南网站制作公司有哪些,海口网是哪家的?  Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】  JavaScript如何操作视频_媒体API怎么控制播放  如何为不同团队 ID 动态生成多个非值班状态按钮  Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】  如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  Laravel路由怎么定义_Laravel核心路由系统完全入门指南