有时候我们需要修改 git commit 时间,可以通过下面的方法解决。
git在提交中的时间实际分为GIT_AUTHOR_DATEGIT_COMMITTER_DATE,通过amend只能修改GIT_AUTHOR_DATE,不会修改GIT_COMMITER_DATE,所以真正要修改提交时间这两个时间都要改一下

1.修改当前本地提交的 commit 时间

# windows下修改GIT_COMMITER_DATE
# 设置的变量仅当前shell终端内有效
set GIT_COMMITTER_DATE="2025-10-21T22:51:13+0800" 

# linux下修改GIT_COMMITTER_DATE
# 设置的变量仅当前终端内有效
export GIT_COMMITTER_DATE="2020-10-21T22:51:13+0800" 
  1. 修改本地的作者时间
# 修改作者时间:GIT_AUTHOR_DATE
git commit --amend --date="2019-01-01T00:00:00+0800" -am ":memo: 更新 TODO.md"

  1. 修改之前提交的某次 作者 时间,首先通过 git log 获取提交的唯一 id,然后
git commit --amend --date="2019-01-01T00:00:00+0800" -C edd2dbbe31fbab492f337628011119493a12a9c6

对于之前已经提交到远程仓库的,需要再 git push 一次,即可推送到远程仓库

  1. 直接将提交时间修改为当前时间,可利用date -R命令(linux shell环境下)
git commit --amend --date="$(date -R)"  或
git commit --amend --date=`date -R`

常用示例

set GIT_COMMITTER_DATE="2025-08-10T11:33:26+0800" 
export GIT_COMMITTER_DATE="2025-08-10T11:33:26+0800" 
git commit --amend --date="2025-08-10T11:33:26+0800"

Q.E.D.


寻门而入,破门而出