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