小编典典

如何在 Git 中更改旧提交的时间戳?

all

如何修改现有的未推送提交的答案?描述一种修改尚未推送到上游的先前提交消息的方法。新消息继承原始提交的时间戳。这似乎合乎逻辑,但有没有办法也重新设定时间?


阅读 155

收藏
2022-02-28

共1个答案

小编典典

与设置和用于您要修复的提交的特定哈希的git filter-branchenv
过滤器一起使用。GIT_AUTHOR_DATE``GIT_COMMITTER_DATE

这将使该哈希值和所有未来的哈希值无效。

例子:

如果你想改变commit的日期119f9ecf58069b265ab22f1f97d2b648faf932e0,你可以这样做:

git filter-branch --env-filter \
    'if [ $GIT_COMMIT = 119f9ecf58069b265ab22f1f97d2b648faf932e0 ]
     then
         export GIT_AUTHOR_DATE="Fri Jan 2 21:38:53 2009 -0800"
         export GIT_COMMITTER_DATE="Sat May 19 01:01:01 2007 -0700"
     fi'
2022-02-28