0


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 github

本文转载自: https://blog.csdn.net/xiaoqixiaoguai/article/details/128591332
版权归原作者 xiaoqixiaoguai 所有, 如有侵权,请联系我们删除。

“git的问题(error: object file .git/objects/* is empty...)的解决”的评论:

还没有评论