【问题标题】:Git - Unable to fetch/pull/cloneGit - 无法获取/拉取/克隆
【发布时间】:2015-11-23 10:49:46
【问题描述】:

在获取、提取或克隆我的存储库时出现以下错误:

$ git fetch
remote: error: Could not read 9bc3bd2d69d3eeebdbb916f5b6126b7714f90e75
remote: fatal: bad tree object 9bc3bd2d69d3eeebdbb916f5b6126b7714f90e75
remote: aborting due to possible repository corruption on the remote side.
error: git upload-pack: git-pack-objects died with error.
fatal: git upload-pack: aborting due to possible repository corruption on the remote side.
fatal: protocol error: bad pack header

当我git -fsck

$ git fsck
Checking object directories: 100% (256/256), done.
Checking objects: 100% (148557/148557), done.

当我git prune 然后git gc

$ git gc
Counting objects: 148557, done.
Compressing objects: 100% (26144/26144), done.
Writing objects: 100% (148557/148557), done.
Total 148557 (delta 90234), reused 148557 (delta 90234)

我在这里搜索了一些解决方案,有些建议删除对象树或移动它,但是:

$ git ls-tree 9bc3bd2d69d3eeebdbb916f5b6126b7714f90e75
fatal: not a tree object

我应该在这里做什么? (这个 repo 在 gitlab 上,我尝试在 sourcetree 和 git bash 上获取它)

【问题讨论】:

    标签: git github gitlab


    【解决方案1】:

    我确认我也不能克隆那个 repo ;)(我可以访问 Jean Henry 的 repo)

    我描述了正确的恢复过程6 years ago,再次引用in 2014

    我们的目标是获取任何仍然有效的最近克隆并解压缩其包文件,以搜索丢失的对象(这里是一棵树)。
    见“How to recover Git objects damaged by hard disk failure?

    mv .git/objects/pack/* <somewhere>
    for i in <somewhere>/*.pack; do
      git unpack-objects -r < $i
    done
    rm <somewhere>/*
    

    解压后,您可以查找文件./git/objects/9b/c3bd2d69d3eeebdbb916f5b6126b7714f90e75:将其复制到服务器上的裸仓库。
    并执行 git fsck 以确认错误已消失。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-09
      • 2012-10-23
      • 2020-12-11
      • 1970-01-01
      • 1970-01-01
      • 2016-01-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多