我是靠谱客的博主 忐忑水蜜桃,最近开发中收集的这篇文章主要介绍git的问题(error: object file .git/objects/* is empty...)的解决,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

由于操纵不当,导致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能用了,链接后面还有一些处理我并没有继续做下去(我比较懒,目的就只是修复一下版本库,既然能用了我就不继续搞了,万一又坏了呢)

  链接中剩余的操作:

rm .git/index
git reset
git fsck

最后

以上就是忐忑水蜜桃为你收集整理的git的问题(error: object file .git/objects/* is empty...)的解决的全部内容,希望文章能够帮你解决git的问题(error: object file .git/objects/* is empty...)的解决所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部