美文网首页
git仓库崩溃问题

git仓库崩溃问题

作者: 野渡渡 | 来源:发表于2018-10-18 11:13 被阅读0次

不知道是不是虚拟机的问题,最近修改代码后git仓库总崩溃,导致的结果就是很多时候自己刚修改的代码不得不放弃,最近找到一种比较好的解决方式,链接如下:https://stackoverflow.com/questions/11706215/how-to-fix-git-error-object-file-is-empty

1.git仓库崩溃表现

dengwen@ubuntu:~/project_DW/selog$ git status
error: object file .git/objects/a9/761932a220991b0490c2715f218f814d39b876 is empty
error: object file .git/objects/a9/761932a220991b0490c2715f218f814d39b876 is empty
fatal: loose object a9761932a220991b0490c2715f218f814d39b876 (stored in .git/objects/a9/761932a220991b0490c2715f218f814d39b876) is corrupt

2.常规解决方案

git仓库崩溃后,常规的解决方案是在其他目录git clone之前版本的项目,然后将
当前版本的项目拷贝过去进行覆盖,再进行提交,但是这样做的结果就是可能会丢失部分git commit信息,除此之外基本没什么问题。

3.推荐方法

这种方法的好处在于可以恢复git log信息,同时也不用重新clone项目、切换分支、替换等操作,相对来说,git管理的完整度和效率会更高,具体步骤如下:

  • (1)删除全部空文件: 注意在.git目录下进行
dengwen@ubuntu:~/project_DW/selog/.git$ find . -type f -empty -delete -print
./objects/0d/e32d3b8d0399414c0c8fc47a56069e9821615a
./objects/14/540f9dda3c30044e2dbe4629d22c715145f212
./objects/19/b98c74bc6c2e372887af410301a0a80495725c
./objects/55/14f9022e0e39a29d0e25cdf15cecac1f2f479c
./objects/84/0103bdd9538473baab19520eda11b88b40c953
./FETCH_HEAD
  • (2)获取最后两条reflog:注意自己要恢复的分支,此处为develop
dengwen@ubuntu:~/project_DW/selog$ tail -n 2 .git/logs/refs/heads/develop
41867ca4ab8d60979e804ee7f4640a2e9231d96b f815821a9c4e4833be898dace675916f3cad0124 dengwen <15680482464@163.com> 1539335482 +0800        commit: add manage
  • (3)恢复对应的日志
    由上一步我们知道最新的日志节点为f815821a9c4e4833be898dace675916f3cad0124,我们可以查看这个节点的信息:
dengwen@ubuntu:~/project_DW/selog$ git show f815821a9c4e4833be898dace675916f3cad0124
commit f815821a9c4e4833be898dace675916f3cad0124
Author: dengwen <15680482464@163.com>
Date:   Fri Oct 12 17:11:22 2018 +0800

    add manage

接下来要做的就是恢复日志,同样,需要注意分支和日志节点。

dengwen@ubuntu:~/project_DW/selog$ git update-ref develop f815821a9c4e4833be898dace675916f3cad0124
  • (4)提交最新的git log
    执行上述步骤后,用git status可以查看仓库的状态了,也就意味着git仓库恢复成功了。

相关文章

  • git仓库崩溃问题

    不知道是不是虚拟机的问题,最近修改代码后git仓库总崩溃,导致的结果就是很多时候自己刚修改的代码不得不放弃,最近找...

  • Git 入门到放弃

    简介 git关联远程仓库 本地仓库与远程仓库同步问题 Git 终端命令 git关联远程仓库 基本流程 注册gith...

  • 迁移git仓库带来的权限问题--2019-08-22

    迁移git仓库带来的权限问题 今天迁移git仓库 第一步: 克隆旧仓库‘基本’版本 git clone --bar...

  • 杂题汇总

    git崩溃问题 对象文件为空,导致崩溃 object file .git/objects/XX/XXXXXXXX ...

  • cmake在本地添加库调试

    下载clion的示例代码仓库地址查看git仓库地址:git remote -v cmakelist配置 问题如何连...

  • git学习笔记(二)

    解决无法向新建git仓库推送分支的问题 问题描述: 在服务器新建git仓库后无法向git推送分支 报错信息 Co...

  • git clone失败-Permission denied (p

    一、问题: 使用git clone git@github.com:xxxx/Vue.git无法clone远程仓库代...

  • Git的使用

    Git 本文章是记录Git日常使用的问题集合 问题 合并不同的git仓库 问题描述 该需求是在做supermark...

  • git迁移

    git clone --bare 原库/仓库.gitcd /仓库git push --mirror 新库/仓库.git

  • git学习记录

    git init创建git仓库 git add添加文件到仓库 git commit -m "xxx"提交文件到仓库...

网友评论

      本文标题:git仓库崩溃问题

      本文链接:https://www.haomeiwen.com/subject/xiyjzftx.html