引入回答:
如何修复GIT错误:目标文件为空?_慕课猿问
git对象文件已损坏(也如其他答案所指出)。这可能在机器崩溃等情况下发生。
我有同样的事情。在阅读了其他顶级答案之后,我发现了使用以下命令修复损坏的git存储库的最快方法(在包含该.git文件夹的git工作目录中执行):
(确保首先备份您的git仓库文件夹!)
find .git/objects/ -type f -empty | xargs rm
git fetch -p
git fsck --full
这将首先删除所有导致整个存储库损坏的空对象文件,然后从远程存储库中获取丢失的对象(以及最新更改),然后进行完整的对象存储检查。在这一点上,应该可以成功执行而不会出现任何错误(尽管可能还会有一些警告!)
PS。这个答案表明您在某个地方(例如,在GitHub上)有一个git存储库的远程副本,而损坏的存储库是与仍处于正常状态的远程存储库绑定的本地存储库。如果不是这种情况,请不要尝试按照我的建议进行修复