0 前言
昨天凌晨写了一点代码,结果git status
的时候发现报错
codemon@codemon-laptop:~/codes/cpp_pro/Zpods$ git status
error: object file .git/objects/7e/4ba4b1a1d7ab1a9466e9d6f3d2b40199b2ebb3 is empty
error: object file .git/objects/7e/4ba4b1a1d7ab1a9466e9d6f3d2b40199b2ebb3 is empty
fatal: loose object 7e4ba4b1a1d7ab1a9466e9d6f3d2b40199b2ebb3 (stored in .git/objects/7e/4ba4b1a1d7ab1a9466e9d6f3d2b40199b2ebb3) is corrupt
本来改bug已经很烦了,结果又出了这个奇怪的问题。这个问题其实挺好解决的,网上也有挺多的教程,这里我不赘述,因为我引入了另一个问题。
我当时有bug了第一反应是问GPT,然后他让我用
# git检错工具
git fsck --full
# 删除损坏的对象
find .git/objects/ -size 0 -exec rm -f {} \;
# gc工具
git gc
!!结果,Tamade,引入了新的问题,就是git fatal: bad object HEAD
,大概就是我HEAD
指向的分支有问题。然后我根据教程改了半天,还是有问题。
1 尝试
我根据CSDN上的教程,比如这个可能有用的方法,但是并没有解决我的问题
2 最终解决方法
我最后参考了这篇文章
Git status fatal: bad object HEAD
大概思路就是: 用远端的.git
替换本地已经损坏的.git
- 从远端
git clone
你的仓库到另一个地方 - 用
cp -r
命令将远端的.git
文件拷贝到你原来的仓库
** 注意,不要将原来仓库的.git删掉,不然会丢失原来仓库的记录**
这样操作之后,你用git status
就是当前本地和远端仓库的差异了
综上所述
一定要养成及时push的好习惯!!!
标签:HEAD,git,object,bad,objects,fatal From: https://www.cnblogs.com/jye159X/p/17840824.html