【发布时间】:2011-03-14 11:04:53
【问题描述】:
我正在开发一个 github 托管项目。出于测试原因,我必须将我的计算机日期移动到未来(2012 年)的某个地方,并且在执行 git commit / push 时忘记将其恢复到正常时间。
实际的提交现在实际上保存为 2012 而不是 2010,它搞砸了我们的 github 视图,因为它们总是出现在顶部。
有什么办法可以解决吗?
【问题讨论】:
-
这是你最新的提交还是不是?
我正在开发一个 github 托管项目。出于测试原因,我必须将我的计算机日期移动到未来(2012 年)的某个地方,并且在执行 git commit / push 时忘记将其恢复到正常时间。
实际的提交现在实际上保存为 2012 而不是 2010,它搞砸了我们的 github 视图,因为它们总是出现在顶部。
有什么办法可以解决吗?
【问题讨论】:
如果没有太多人已经从该 GitHub 存储库中提取,您可以在本地更改旧提交的 GIT_AUTHOR_DATE 和 GIT_COMMITTER_DATE,并将 git push --force 更改为 GitHub 存储库。
(只需准备将人们指向git rebase 手册页的RECOVERING FROM UPSTREAM REBASE 部分)
有关此类操作所需的git filter-branch 命令的详细信息,请参阅How can one change the timestamp of an old commit in Git?。
【讨论】: