Git log:致命对象[sha1]已损坏

Key*_*eyo 20 git

有什么方法可以用提交历史记录修复我的存储库.

 # git log
fatal: object 01aeb2bf2e93b238f0e0422816b3e55518321ae7 is corrupted
Run Code Online (Sandbox Code Playgroud)

通过阅读下面的链接,看起来我已经删除它并重新开始.

http://www.miek.nl/s/7e76eadefe/

Bra*_*ers 11

你在其他地方有这个存储库的克隆吗?假设损坏的对象是blob(文件内容),您可能希望阅读Linus Torvalds的这篇文章来恢复该损坏的对象.

  • 在你的答案中包含帖子的要点会有所帮助,只是因为kernal.org被黑客攻击并且离线:( (5认同)

Jas*_*ase 8

我在相同的情况下结束了,可能是因为我正在使用的虚拟机关闭不当.在.git /对象中大约有10个对象长度为零.据我所知,实际的源代码文件很好,只是存储库被软管.

$ git status
fatal: object fbcf234634ee04f8406cfd250ce5ab8012f92b08 is corrupted
Run Code Online (Sandbox Code Playgroud)

根据我在其他地方看到的一些建议(包括上面提到的Linus的帖子),我试着暂时移动损坏的对象git在其他地方抱怨.git/objects.什么时候移动了所有这些,我得到了:

$ git status
fatal: bad object HEAD
Run Code Online (Sandbox Code Playgroud)

经过大约一个小时的谷歌搜索和尝试各种解决方案后,我放弃并开始使用'git clone'从原点拉出一个新的工作副本(比我的工作副本大约2小时).然后我使用rsync -rC(-C排除SCM文件)将已更改的文件从混乱的工作副本复制到我的新工作副本.