Git仓库过大致使clone失败的解决方法

本文讲述了Git在处理大量分支或大文件时可能出现的下载问题,提供了解决方案,如分批下载、关闭压缩、使用深度克隆、调整postBuffer设置以及利用镜像站点等。
摘要由CSDN通过智能技术生成

在这里插入图片描述
在这里插入图片描述

remote: Enumerating objects: 2308, done.
remote: Counting objects: 100% (1351/1351), done.
remote: Compressing objects: 100% (850/850), done.
error: RPC failed; curl 92 HTTP/2 stream 5 was not closed cleanly: CANCEL (err 8)
error: 7667 bytes of body are still expected
fetch-pack: unexpected disconnect while reading sideband packet
fatal: early EOF
fatal: fetch-pack: invalid index-pack output

原因分析

一般这种情况都是因为项目分支过多,导致你要下载的东西太多,从而引起这个问题。网上有一个流传比较多的修改方案:

git config --global core.compression -1

使用上述命令,来修改压缩模式,尝试过了没有用。

解决思路

引起这个问题的根源是文件过多,所以我们可以分批次下载文件,先下载一部分,再下载剩下的。以下是解决方案:

关闭 core.compression

git config --global core.compression 0

获取最近一次提交

使用depth这个指令来下载最近一次提交

git clone --depth 1  [仓库链接] 

在这里插入图片描述

获取完整库

git fetch --unshallow 

期间有可能失败,重试一下,如果还不行,试试延长克隆时间
在这里插入图片描述
成功后,整个仓库就都下载下来了,包括历史的提交

延长克隆的时间

git config --global http.postBuffer 600000

pull一下查看状态,问题解决

git pull --all

在这里插入图片描述
可以看到代码库已经完成clone。

经过分支名称去拉取分支信息以及checkout

git branch -a
git remote set-branches origin '远程分支名称'
git fetch --depth 1 origin 远程分支名称
git checkout 远程分支名称

利用镜像网站

将链接中的 github.com 替换为 github.com.cnpmjs.org 或其他镜像地址
如果报以下错误

Could not resolve host: github.com.cnpmjs.org

在git控制台上输入下面这句,然后在正常去拉取,它会使你默认使用镜像

git config --global url."https://github.com.cnpmjs.org/".insteadOf https://github.com/

如果需要替换回原来的默认地址

git config --global url."https://github.com/".insteadOf https://github.com.cnpmjs.org/

参考资料

git仓库过大致使clone失败的解决方法
github国内镜像https://hub.fastgit.xyz/使用指南
git提交或克隆报错fatal: unable to access ‘https://github.com/tata20191003/autowrite.git/‘: Failed to connect

  • 22
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RisunJan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值