猿问

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

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

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



手掌心
浏览 4096回答 3
3回答

摇曳的蔷薇

使用git filter-branch使用env过滤器设置GIT_AUTHOR_DATE和GIT_COMMITTER_DATE对于要修复的提交的特定散列,请执行以下操作。这将使这个和所有未来的哈希无效。例子:如果您想更改日期承诺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'

宝慕林4294392

在一个命令中处理所有这些建议的更好方法是LC_ALL=C GIT_COMMITTER_DATE="$(date)" git commit --amend --no-edit --date "$(date)"这将最后一次提交的提交和作者日期设置为“立即”。

炎炎设计

您可以进行交互式重基并选择编辑你想更改的日期。例如,当重基进程停止以修改提交时,输入:git commit --amend --date="Wed Feb 16 14:00 2011 +0100"之后,您将继续您的交互式重基。更新(响应Studgeek的评论):更改提交日期而不是作者日期:GIT_COMMITTER_DATE="Wed Feb 16 14:00 2011 +0100" git commit --amend上面的行设置了一个环境变量git_贡献者_date,用于修改提交。所有的测试都是在Git Bash中进行的。
随时随地看视频慕课网APP
我要回答