繁体   English   中英

Git - 无法获取/拉取/克隆

[英]Git - Unable to fetch/pull/clone

我有以下错误upong取,拉或克隆我的回购:

$ 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上获取它)

我确认我无法克隆那个回购;)(我可以访问Jean Henry的回购)

我在6年前描述了适当的恢复过程,并在2014年再次引用。

目标是获取任何仍然功能最近的克隆并解压缩其包文件,以搜索丢失的对象(这里是一棵树)。
请参阅“ 如何恢复因硬盘故障而损坏的Git对象?

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

解压缩后,您可以查找文件./git/objects/9b/c3bd2d69d3eeebdbb916f5b6126b7714f90e75 :将其复制到服务器上的裸./git/objects/9b/c3bd2d69d3eeebdbb916f5b6126b7714f90e75
并做一个git fsck来确认错误消失了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM