error: object file is empty .git/objects/../.. is empty — fatal: loose object … is corrupt

℡╲_俬逩灬. 提交于 2019-12-23 11:55:19

问题


So this is the fifth time this has happened in the past three weeks and I am really stumped as to why this keeps happening. This is the exact message I get when I do 'git status'

error: object file .git/objects/48/088f00d90b0d27de65336bb9ed9a75b0cfed33 is empty
fatal: loose object 48088f00d90b0d27de65336bb9ed9a75b0cfed33 (stored in .git/objects/48/088f00d90b0d27de65336bb9ed9a75b0cfed33) is corrupt

I've tried recommendations such as deleting the corrupt object, but then the same error comes up with another loose object. Every time I've done this, there ends up being around 30 loose objects which I have to delete and then it still gives me an error after all of the corrupt objects are gone.

Being the fifth time this happened, something has to be wrong with git or something related to it. I have tried re-installing git, but I still ended up with the corrupt objects. I am using a virtual machine running Ubuntu, if that would cause something like this, I don't know. I have also tried switching to Linux mint and I countered this problem as well.

In the end I have always just saved the changes to a text file, deleted my repository, pull fresh repository from git hub and then edit the changes back in. That works but it is time consuming and far from ideal. I'm not necessarily looking for a way to fix this, but rather what is causing it and how to prevent it from happening again.


回答1:


This should normally not happen, since git first writes the file content in a temporary file, and then renames the file to its final location. In practice, I did see empty Git object files due to a broken filesystem (VirtualBox's vboxsf, used for folder sharing, seems to be the guilty one whenever I saw people complaining about empty files like this).

Setting core.fsyncobjectfiles to true may help.




回答2:


Running git prune worked for me! You might lose your old local/inactive branches which origin does not have

git prune origin


来源:https://stackoverflow.com/questions/12219731/error-object-file-is-empty-git-objects-is-empty-fatal-loose-object

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!