我正在做一个 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 中旧提交的时间戳? 以了解此类操作所需的
git filter-branch
命令的详细信息。
你可以尝试使用我最近开发的一个名为 Git Time Travel 的包。它是一个功能强大的 Node.js 包,可让您操作存储库中任何先前 Git 提交的日期和时间。使用 Git Time Travel,您可以轻松更正错误或更新 Git 历史记录中的信息。
要安装 Git Time Travel,请使用 npm:
$ npm install -g git-time-travel
然后,导航到 Git 存储库并运行:
$ git-time-travel [options]
这将打开您的代码编辑器,其中包含要修改的 Git 提交消息和日期。进行更改并保存文件后,提交日期将更新。
有关更多信息,请转到:Git Time Travel 的 Github Repo
我很抱歉这么晚才发表这条评论,但我希望它仍然可以帮助将来遇到这个问题的人。