You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行git pull时出现git-remote-https died of signal 6错误求助

Git HTTP 拉取/克隆报错,调大http.bufferSize无效,切换SSH解决的原因分析

问题背景

  • 此前为提交大文件,将Git的http.postBuffer值设置为524288000,操作后未恢复默认配置
  • 在macOS系统执行git pull拉取远程变更时触发报错,尝试进一步调大http.bufferSize(应为http.maxRequestBuffer)仍无法解决
  • 手动下载仓库仅5MB,但执行git clone时同样出现相同错误
  • 最终切换为SSH协议后问题得以解决

核心原因分析

  1. http.postBuffer的作用范围误解
    http.postBuffer仅控制Git**推送(push)大文件时的本地缓冲区大小,对拉取(pull/clone)**操作完全无效。拉取操作的缓冲区由服务器端配置和本地http.maxRequestBuffer控制,盲目调大这个参数如果超过GitHub服务器的限制,反而会触发请求异常。

  2. 异常配置导致HTTP请求不符合服务器规范
    当http.postBuffer设置过大(或误设为过小的5242)时,Git发起HTTP请求时的请求头、请求结构会不符合GitHub服务器的预期规范,被判定为异常请求,从而拒绝处理。

  3. macOS下Git配置的优先级或路径冲突
    macOS可能存在多版本Git(系统自带/brew安装),不同版本读取的配置文件路径不同,可能导致你修改的配置未实际生效;或者全局配置与仓库本地配置存在冲突,残留的错误配置持续影响HTTP连接。

  4. HTTP链路的缓存/代理干扰
    macOS系统级代理、Git的凭证缓存等可能因异常的HTTP配置产生缓存数据异常,即使调整参数也无法覆盖。而SSH协议绕过了这些HTTP相关的缓存和代理逻辑,因此可以正常建立连接。

针对类似问题的修复步骤

  • 恢复http.postBuffer到官方默认值(50MB):
    git config --global http.postBuffer 52428800
    
    注:你之前打算恢复的5242远低于默认值,这本身也可能引发HTTP请求异常。
  • 重置HTTP相关配置,清除异常参数:
    git config --global --unset http.maxRequestBuffer
    git config --global --unset http.postBuffer
    
  • 清除Git的HTTP凭证缓存:
    git credential-cache exit
    

内容的提问来源于stack exchange,提问作者Andrej

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 14:21:30