当前位置: 首页 > news >正文

仓库太大,clone 后,git pull 老分支成功,最新分支失败

由于 git 仓库太大,新加入的小伙伴在拉取时,无法切换到最新的分支,报错如下:

fetch-pack: unexpected disconnect while reading sideband packet
fatal: early EOF
fatal: fetch-pack: invalid index-pack output

在此记录解决步骤,

1、clone

git clone --depath 1 xxx.git

2、切换分支

由于未 clone 整个仓库,也就拉不到所有分支,自然无法通过 checkout 切换分支。
在此通过手工处理:

1、打开根目录下的隐藏文件:.git/config
2、改动文件:

[remote "origin"]url = https://git.code.tencent.com/pokergaga/PokerGagaClient.git// fetch = +refs/heads/master:refs/remotes/origin/master  将这行改为分支:3.2.0fetch = +refs/heads/3.2.0:refs/remotes/origin/3.2.0

3、奇怪的报错

如上改了配置文件后,一般执行如下代码即可:

git pull
git checkout 3.2.0 #目标分支

以前在这一步都很顺利,但这一次居然不行,在 git pull 时报同样的错。

然后在手工换到上一个版本 3.1.0 再试,嘿,居然成功了!

再尝试将 3.1.0 历史全部下载:

git fetch --unshallow

可惜还是报同样的错。

4、解决

经过网上多番查着,未发现有遇到过此问题的文章。
再仔细查看了 fetch 命令:

git fetch -h# ...# -k, --keep            keep downloaded pack# --unshallow           convert to a complete repository

再次尝试:

git fetch --unshallow -k -v

下载成功!

再如上步骤2、3 所示,手工切换到 3.2.0,成功!

http://www.lryc.cn/news/154752.html

相关文章:

  • javafx Dialog无法关闭
  • vue3中TCplayer应用
  • 算法通关村14关 | 数据流中位数问题
  • 工厂模式 与 抽象工厂模式 的区别
  • 安装虚拟机+安装/删除镜像
  • MySQL的内置函数复合查询内外连接
  • 操作系统(OS)与系统进程
  • 防重复提交:自定义注解 + 拦截器(HandlerInterceptor)
  • Excel中将文本格式的数值转换为数字
  • uni-app开发小程序中遇到的map地图的点聚合以及polygon划分区域问题
  • 【笔记】软件测试的艺术
  • 配置本地maven
  • C# 按钮的AcceptButton和CancelButton属性
  • SMT贴片制造:专业、现代、智能的未来之选
  • python sqlalchemy db.session 的commit()和colse()对session中的对象的影响
  • python读取图像小工具
  • 【ES6】JavaScript中Reflect
  • Ajax + Promise复习简单小结simple
  • WebDAV之π-Disk派盘 + 小书匠
  • LTE ATTACH流程、PDN流程、PGW地址分配介绍
  • SQL sever中用户管理
  • linux————pxe网络批量装机
  • 处理时延降低24倍,联通云粒数据引擎优化实践
  • 学习MATLAB
  • React 18 对 state 进行保留和重置
  • MySQL之事务与引擎
  • Flink集群常见的监控指标
  • React常见知识点
  • Vue-router路由
  • JVM-CMS