Git致命:无法简化提交

时间:2014-12-01 20:41:25

标签: linux git

我有一个回购,我已经承诺了2个月。我每天提交时似乎没有任何错误。然而,我正在看git日志,我看到第一个git日志(或者git可以看到超出该日志点)有这样的错误消息

:100755 100755 1948ac6... 2af905e... M  document.doc"
error: Could not read 190d54eb3278746a4e35fd4be82689eb4b1d20a8
fatal: cannot simplify commit cb0c2a3bf0a4ad665eb376b818bdcb0652a06eec (because of 190d54eb3278746a4e35fd4be82689eb4b1d20a8)

我尝试了以下建议:https://git.wiki.kernel.org/index.php/GitFaq#How_to_fix_a_broken_repository.3F

但我没有得到我想要达到的目标,无论推荐什么都没有帮助我。

1 个答案:

答案 0 :(得分:1)

此解决方案可以帮助您:

备份.git目录,以防您在此过程中损坏更多内容。然后,放回您可用的最佳版本的包文件。

对于每个损坏的packfiles,运行:

mv .git/objects/pack/pack-**yourpack**.pack oldpack
git-unpack-objects -r < oldpack
Run git fsck --full and git checkout again, give us the output.

现在看起来你应该可以退房了,但是你必须运行git checkout -f yourbranch ,因为你的工作目录中还有尚未提交的更改。但是,当您运行git checkout -f时,这些更改将会丢失。

注意:This solution was sugested by @Chronial