有时候我们需要修改 git commit
时间,可以通过下面的方法解决。
git在提交中的时间实际分为GIT_AUTHOR_DATE
和GIT_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"
- 修改本地的作者时间
# 修改作者时间:GIT_AUTHOR_DATE
git commit --amend --date="2019-01-01T00:00:00+0800" -am ":memo: 更新 TODO.md"
- 修改之前提交的某次 作者 时间,首先通过
git log
获取提交的唯一 id,然后
git commit --amend --date="2019-01-01T00:00:00+0800" -C edd2dbbe31fbab492f337628011119493a12a9c6
对于之前已经提交到远程仓库的,需要再 git push
一次,即可推送到远程仓库
- 直接将提交时间修改为当前时间,可利用
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.