您的位置:首页 > 手游攻略 > Git仓库过大致使clone失败问题及解决实用指南

Git仓库过大致使clone失败问题及解决实用指南

作者:互联网  时间: 2026-10-24 16:30:01  

平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“Git仓库过大致使clone失败问题及解决”来说,它看着像小点,放到项目里常会牵出环境、配置、兼容性和维护成本。下面按实际采用顺序,把思路、关键写法和容易踩坑的地方讲清楚,便于大家直接对照操作。

Git仓库过大致使clone失败

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仓库过大适合结合实际项目边做边理解。先抓住核心思路,再逐步补上细节和边界处理,最后效果会更稳定,也更容易复用。

相关资讯

最新游戏

更多

Copyright©2010-2019. All rights reserved | 波波三国游戏官网|[email protected]

备案编号:湘ICP备2022015115号-4