所以这是过去三周内第五次发生这种情况,我真的很难过为什么会这样。这是我在'git status'时得到的确切消息
error: object file .git/objects/48/088f00d90b0d27de65336bb9ed9a75b0cfed33 is empty
fatal: loose object 48088f00d90b0d27de65336bb9ed9a75b0cfed33 (stored in .git/objects/48/088f00d90b0d27de65336bb9ed9a75b0cfed33) is corrupt
我尝试过删除损坏的对象等建议,但是另一个松散的对象会出现同样的错误。每次我这样做,最终会有大约30个松散的物体被我删除,然后在所有腐败的物体消失后它仍然会给我一个错误。
第五次发生这种情况时,git或与之相关的东西必定是错误的。我已经尝试重新安装git,但我仍然最终得到了腐败的对象。我正在使用运行Ubuntu的虚拟机,如果这会导致这样的事情,我不知道。我也试过转换到Linux mint,我也反击了这个问题。
最后,我总是将更改保存到文本文件,删除我的存储库,从git hub中提取新的存储库,然后重新编辑更改。这可行,但是耗时且远非理想。我不一定想找到解决这个问题的方法,而是找出导致它的原因以及如何防止它再次发生。
答案 0 :(得分:0)
这通常不会发生,因为git首先将文件内容写入临时文件,然后将文件重命名为其最终位置。实际上,由于文件系统损坏,我确实看到了空的Git对象文件(VirtualBox&#v; vboxsf,用于文件夹共享,每当我看到人们抱怨像这样的空文件时,似乎是有罪的。)
将core.fsyncobjectfiles
设置为true
可能有所帮助。
答案 1 :(得分:0)
运行git prune对我有用! 您可能会失去原来没有的本地/非活动分支
git prune origin
答案 2 :(得分:0)
.git
文件夹.git
文件夹git add
、git commit
、git push
奖励:
9. 安心睡觉