由于操纵不当,导致git报错:
error: object file .git/objects/4a/13231c43ba3702636672cecb424112501178e5 is empty
error: object file .git/objects/4a/13231c43ba3702636672cecb424112501178e5 is empty
fatal: loose object 4a13231c43ba3702636672cecb424112501178e5 (stored in .git/objects/4a/13231c43ba3702636672cecb424112501178e5) is corrupt
即提示xx文件是空的。在使用git log、git commit、git status等命令都会出此错误(文件名可能不一样)。第一次遇到时候不想花过多精力在解决这个问题上(工作要保证时间节点),另存为源代码,然后直接删除了本地的代码包括本地库。但是把.git删掉,重新init,虽然会很轻松地暴力地解决了这个问题。但是,这样的话之前的版本信息就全部丢失了,这并不是想要的结果。于是,又遇到的时候决定花点时间学习一下,这里记录已备后期再次遇到使用。
先贴上找到的正确解决方法的链接:http://stackoverflow.com/questions/11706215/how-to-fix-git-error-object-file-is-empty
首先,删除所有空白文件
cd .git
find . -type f -empty -delete -print
然后,打印出日志文件最后两行(tail要作用在.git前一级目录,这里踩过一次坑):
cd ..
tail -n 2 .git/logs/refs/heads/master
接着,查看xx版本是否正常,即上一步打印出来的第一条
git show xxxx(版本号)
之后,回档:
git update-ref HEAD xxxx(版本号)
检查一下:
git fsck
我到这一步就已经OK能用了,链接后面还有一些处理我并没有继续做下去(我比较懒,目的就只是修复一下版本库,既然能用了我就不继续搞了,万一又坏了呢)文章来源:https://www.toymoban.com/news/detail-613379.html
链接中剩余的操作:文章来源地址https://www.toymoban.com/news/detail-613379.html
rm .git/index
git reset
git fsck
到了这里,关于git的问题(error: object file .git/objects/* is empty...)的解决的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!