为了账号安全,请及时绑定邮箱和手机立即绑定

修复Git 的版本库object empty异常问题

标签:
JavaScript

问题描述

  笔者某天在提完代码时并无发现异常,但第二天要再次提交时git库报了如下错误;

error: object file .git/objects/f2/18e1c038cb0b303cf3f388d6f32f82159c25ba is empty
error: object file .git/objects/f2/18e1c038cb0b303cf3f388d6f32f82159c25ba is empty
fatal: loose object f218e1c038cb0b303cf3f388d6f32f82159c25ba (stored in .git/objects/f2/18e1c038cb0b303cf3f388d6f32f82159c25ba) is corrupt

意为库的版本管理文件中存在空文件,git错误一般都是版本冲突或版本滞后等错误,第一次遇到这种错误,具体由什么操作导致的,笔者不得而知。查了些资料做了总结,觉得有必要分享给大家供参考

修复办法

1.打开项目工程.git目录

  该问题是版本库问题,那么发生问题的文件肯定是在.git目录中找咯.

cd  workspace/your-project/.git

2.删除目录下的所有空白文件

  错误信息中含有空白文档,这肯定是不正确的,产生原因为上次提交代码或者其他错误操作导致最新版本生成了错误文件或空白文件。明白一个信息,我们每次提交代码,git都会将我们所提交的版本号和提交信息记录到各自相应的文档当中,以便用户检索,如版本信息路径为: ./.git/logs/HEAD; commit信息路径为./.git/logs/refs/heads/master

find . -type f -empty -delete -print

  删除了之后,检查一下文件

git fsck

3.查看一下 HEAD 版本信息文件
git reflog

  因为我的版本信息是坏的,执行命令之后看见打印如下,

fatal: bad object HEAD

4.修改指向到最新的正确的版本号上

  版本文件存在错误,我们需要回退到最新的正确的版本上,因此我们需要知道最新的版本号, 这里打印出最后两条版本记录如下

tail -n 2 .git/logs/refs/heads/master

  如果你已经在.git目录上,删掉路径前的.git即可,这里是为了写明路径。

  获取最新的版本号,样子如:f6a323e2d4ccffebe45e2bdb2c66f2860df56b29,检查一下该版本是否真是可用

git show f6a323e2d4ccffebe45e2bdb2c66f2870df56b29

  如果打印类似如下信息,说明你该次提交信息是有效记录的,说明我们我们可以指向该版本号

commit f6a323e2d4ccffebe45e2bdb2c66f2870df56b29Author: zhangfangshuai <zhangfangshuai@shouqiev.com>
Date:   Tue Jul 3 22:22:54 2018 +0800

    add: tranglePicker component

diff --git a/app/components/cities.js b/app/components/cities.js
index f8b904b..00d5401 100644--- a/app/components/cities.js
+++ b/app/components/cities.js
@@ -1,8 +1,8 @@

5.更新至正确的版本号
git update-ref HEAD f6a323e2d4ccffebe45e2bdb2c66f2860df56b29

  等待执行完成,再用git fsck 检查一下

6.处理冲突和提交代码

  到这里,版本库已经修复完成,但是或许你还存在本地和远程库中的代码冲突,如果有,手动merge一下再提交即可。



作者:果汁凉茶丶
链接:https://www.jianshu.com/p/fe1d0e10b826


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消