git 提交损坏的时区

git commit broken time zone

> git fsck
error in commit %hash%: invalid author/committer line - bad time zone

> git show %hash%
Date: Mon Mar 18 23:57:14 2201 -5274361

如何解决这个问题?在 master 分支中使用 git rebase 和 delete\update 提交信息,或者在项目 .git 目录中做一些魔术,或者以其他方式?

我会选择 git rebase -i 解决方案。

编辑错误的提交并 git commit --amend --date="Mon Jul 24 14:00 2015 +0100" 当你停止它们时。

如果您基于推送的提交进行变基,则必须通过执行 push -f.

重写分支历史记录(在您的情况下 master

编辑:如果 rebase 选项不起作用..我会取消尝试修复 repo..

我会选择快速导出和快速导入..

git fast-export --all | (cd /cleanrepo/ && git fast-import)

如果上述方法失败,我会添加 --anonymize 以删除所有识别信息。