Git提交时区错误

9
> 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

这个问题应该怎样解决?可以在主分支上使用git rebase删除或更新提交信息,或者在项目的.git目录中进行一些操作,或者使用其他方法吗?

你使用的是哪个版本的Git?你是否与任何第三方工具一起使用它? - jub0bs
重要的是使用了哪个版本的Git来创建有问题的提交。 - Matthieu Moy
你能运行 git cat-file -p %hash% 吗? - Matthieu Moy
git cat-file -p %brokenCommitHash% 100644 blob hash1 filename1 100644 blob hash2 filename2 040000 tree hash3 dirname
- Alex
快速导出 + 快速导入仓库.. 这是一个疯狂的错误.. 但很明显你的仓库有问题! :( - Pogrindis
显示剩余2条评论
2个回答

3

我建议采用 git rebase -i 解决方案。

编辑错误的提交,遇到它们时使用 git commit --amend --date="Mon Jul 24 14:00 2015 +0100" 进行修改。

如果你在已推送的提交上变基,你将需要通过执行 push -f 重写分支历史(在你的情况下是 master 分支)。


我已经成功修改了提交记录,但git fsck仍然显示旧的提交记录存在... - Kevin Burke

0

编辑:如果变基选项无法正常工作.. 我会放弃尝试修复仓库..

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

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接