【git】git push 异常 unexpected disconnect while reading sideband packet

开源 0
push异常

今天突然git push很长时间之后,提示如下
在这里插入图片描述
经过一段时间的查询,发现是文件太大导致的,使用如下命令更改配置即可

# window 系统$ git config --global http.postBuffer 524288000 # 加大缓存$ git config --global core.compression 0 # 设置默认压缩方法$ git config --global http.lowSpeedLimit 0 # 设置最低速度$ git config --global http.lowSpeedTime 999999 # 设置最低速度时间,单位秒$ git config --global pack.window 1 # 窗口大小$ git config --global http.version HTTP/1.1 # http版本$ set GIT_TRACE_PACKET=1 # 打开调示信息$ set GIT_TRACE=1 # 调试信息$ set GIT_CURL_VERBOSE=1 # 调试信息

ps: pack.window: 在打包过程中使用的窗口大小。窗口大小决定了在打包过程中可以合并哪些历史记录。更大的窗口意味着更多的历史记录可以合并,从而可能生成更小的打包文件。但是,增加窗口大小也会增加内存和 CPU 的使用。

也可以使用xlfs插件进行上传: https://docs.atomgit.com/repo/lfs/

git配置

git config --list 查看git 配置

git config --get http.postBuffer 查看git缓存配置

git config --global http.postBuffer 524288000 配置git 缓存为500mb(1048576000)

git config --global core.autocrfl false 设置git换行符 不转换换行符

git config core.compression 0 设置压缩机别 0表示无压缩,-1为zlib默认压缩值,而1-9是速度大小集中的方案,最慢的是9

git config pack.SizeLimit 256m 设置一个包最大的压缩尺寸(输出包的最大大小)

git config pack.windowMemory 256m 每个线程在窗口中占内存大小(未配置时,无限制),窗口大小动态缩小,不超过配置数值,不会使大窗口内存用完

git config --global pack.threads 1 设置git 线程数

git config --global core.filemode false 设置文件格式(忽略权限变化)/不信任文件模式(跨系统文件复制和使用)

git config --global core.safecrlf true 拒绝提交包含混合换行符的文件

git config --global pack.depth “” 限制最大深度,默认值为50 最大为4095(影响解包方面的性能)
git config --global pack.window “” 窗口大小设置 默认为10(内部按照大小和可选的名称排序,所有对象窗口惊醒比较,)

git config --global user.name “” 设置用户名
git config --global user.email “” 设置邮箱地址(建议用注册giuhub的邮箱)

git config --system --unset credential.helper git 失败时清除缓存的密码

参考链接:
https://stackoverflow.com/questions/66366582/github-unexpected-disconnect-while-reading-sideband-packet
https://blog.csdn.net/wcf2328/article/details/103211767

也许您对下面的内容还感兴趣: