当前位置: 首页 > news >正文

【解决方案】git错误:对象文件为空 error: object file

问题

提前关闭虚拟机,使得git push中断,导致本地与云端版本不一致,出现对象文件为空的错误。现象如下:

(base) root@yyy-VMware-Virtual-Platform:~/test# git status
error: 对象文件 .git/objects/e0/1e63bbb4eae481da19737d3d1c166484a586d0 为空
error: 对象文件 .git/objects/e0/1e63bbb4eae481da19737d3d1c166484a586d0 为空
fatal: bad object HEAD

解决方案

  1. 使用git fsck --full查看有哪些空文件:
(base) root@yyy-VMware-Virtual-Platform:~/test# git fsck --full
error: 对象文件 .git/objects/06/df9fcbe1977eef884d21b2e22237ee494c32a5 为空
error: 不能 mmap .git/objects/06/df9fcbe1977eef884d21b2e22237ee494c32a5: 没有那个文件或目录
error: 06df9fcbe1977eef884d21b2e22237ee494c32a5:对象损坏或丢失:.git/objects/06/df9fcbe1977eef884d21b2e22237ee494c32a5
error: 对象文件 .git/objects/34/8161c71c36b4f84d7b6de4e65f8d7b5348ea40 为空
error: 不能 mmap .git/objects/34/8161c71c36b4f84d7b6de4e65f8d7b5348ea40: 没有那个文件或目录
error: 348161c71c36b4f84d7b6de4e65f8d7b5348ea40:对象损坏或丢失:.git/objects/34/8161c71c36b4f84d7b6de4e65f8d7b5348ea40
error: 对象文件 .git/objects/3d/97cab99f6f87d36857b0568c9d09b2f04143d2 为空
......
  1. rm删除空文件并再次git fsck --full,检查是否还有空文件。
rm .git/objects/44/92a05fc0954268d3c9fa4e21526e7d30fbdfc0
  1. 或可以cd到.git目录下运行find . -type f -empty -delete -print自动删除全部空文件
cd .git
find . -type f -empty -delete -print
  1. 最终确认git fsck --full
(base) root@yyy-VMware-Virtual-Platform:~/test# git fsck --full
正在检查对象目录: 100% (256/256), 完成.
error: refs/heads/main:无效的 sha1 指针 e01e63bbb4eae481da19737d3d1c166484a586d0
error: refs/remotes/origin/main:无效的 sha1 指针 e01e63bbb4eae481da19737d3d1c166484a586d0
error: HEAD:无效的 sha1 指针 e01e63bbb4eae481da19737d3d1c166484a586d0
error: HEAD:无效的引用日志条目 e01e63bbb4eae481da19737d3d1c166484a586d0
error: refs/heads/main:无效的引用日志条目 e01e63bbb4eae481da19737d3d1c166484a586d0
error: refs/remotes/origin/main:无效的引用日志条目 e01e63bbb4eae481da19737d3d1c166484a586d0
注意:无默认引用
error: 4492a05fc0954268d3c9fa4e21526e7d30fbdfc0: invalid sha1 pointer in cache-tree of .git/index
error: f5b273722fe29f4bd940c7c93aa9bec0823f7347: invalid sha1 pointer in cache-tree of .git/index
error: 772bd6dd528cbd80e0a2c3919394722f5148142b: invalid sha1 pointer in cache-tree of .git/index
悬空 blob 52118c85df4b575d091e3b3dd6338941686b4fb9
悬空 blob 9de56cc91fe3054ad5189b2264b708c794059411
悬空 blob ccd524e0f558b2d9da48c07a249ffc42926211b3
悬空 blob 37060e8fae0c48651ca1e90123b68fd24416cc31
  1. 运行git pull,拉取云端配置
    注意:此操作只会填补悬空的文件,不会覆盖本地文件。如果不放心可以本地先备份。
(base) root@yyy-VMware-Virtual-Platform:~/test# git pull
remote: Enumerating objects: 309, done.
remote: Counting objects: 100% (309/309), done.
remote: Compressing objects: 100% (256/256), done.
remote: Total 309 (delta 68), reused 289 (delta 48), pack-reused 0 (from 0)
接收对象中: 100% (309/309), 3.33 MiB | 2.53 MiB/s, 完成.
处理 delta 中: 100% (68/68), 完成.
已经是最新的。
  1. 完成本地的.git文件恢复
http://www.dtcms.com/a/13169.html

相关文章:

  • vincent,一个超酷的Python库
  • 详解Linux文件系统
  • 前端大模型入门:使用Transformers.js手搓纯网页版RAG(二)- qwen1.5-0.5B - 纯前端不调接口
  • git 基本原理
  • 软件设计——随手笔记
  • Pencils Protocol 全面推动市场,生态通证 DAPP 将持续通缩
  • 十进制与ip地址转换公式(EXCEL公式)
  • 【系统架构设计师】专题:系统分析和设计
  • Unity 与虚幻引擎对比:两大游戏开发引擎的优劣分析
  • LLM - 使用 XTuner 指令微调 多模态大语言模型(InternVL2) 教程
  • ​IAR全面支持国科环宇AS32X系列RISC-V车规MCU
  • 小灰的基金,终于回血了!
  • 百度智能体创建:情感领域的创新力量
  • 单位向量的定义和举例说明
  • websocket集群部署遇到的一些事
  • SD2.0 Specification之大容量卡与标准容量卡的命令差异
  • [Redis][典型运用][缓存]详细讲解
  • 5 apache poi实现excel的动态下拉框功能
  • RTA-OS Port Guide学习(三)-基于S32K324 OS
  • 一步一步丰富生成式语言模型系统
  • 计算机毕业设计Python+Tensorflow股票推荐系统 股票预测系统 股票可视化 股票数据分析 量化交易系统 股票爬虫 股票K线图 大数据毕业设计 AI
  • 安全点的应用场景及其原理详解
  • 828华为云征文|WordPress部署
  • jupyter安装与使用——Ubuntu服务器
  • 《工程科学与技术》
  • 上交所服务器崩溃:金融交易背后的技术隐患暴露杭州BGP高防服务器43.228.71.X
  • 设计模式之装饰模式(Decorator)
  • 数据结构-3.5.队列的顺序实现
  • 搭建高效知识库:教培机构数字教学的关键一步
  • 搭建本地AI聊天界面:Open WebUI与Ollama实战指南