拉取大文件执行git pull出现The remote end hung up unexpectedly错误如何解决
报错原因
- Git默认HTTP/HTTPS传输缓存上限为1MB,拉取的单文件或总提交体积超过该限制时会触发RPC调用失败
- 网络连接不稳定导致SSL传输中断,errno 10054为Windows系统下的连接重置错误,代表远程服务端主动断开了连接
- 本地Git版本过低,存在大文件传输相关的兼容性缺陷
- 仓库内包含超出托管平台限制的超大单文件,触发平台的传输断开规则
解决方法
1. 调大Git HTTP传输缓存
执行如下命令将缓存上限调整为500MB,可根据实际拉取体积对应放大数值:
git config --global http.postBuffer 524288000
调整完成后重新执行git pull即可。
2. 切换为SSH协议拉取
SSH协议对大文件传输的稳定性优于HTTPS,若当前使用HTTPS连接仓库可切换为SSH协议:
- 移除原有HTTPS远程地址:
git remote remove origin - 添加SSH格式的远程仓库地址:
git remote add origin 你的仓库SSH地址 - 重新执行拉取操作:
git pull origin 对应分支名
3. 浅克隆后逐步拉取历史
若仓库总提交体积过大,可先仅拉取最新版本,再按需拉取历史提交:
- 浅克隆仅拉取最近1次提交:
git clone --depth 1 仓库地址 - 需要完整历史时执行:
git fetch --unshallow
4. 清理仓库超大文件
若为仓库内存在超限制单文件导致的报错,可联系仓库管理员使用Git LFS管理大文件,或清理历史提交中的冗余大文件后再拉取。
5. 排查网络环境
- 关闭VPN、代理工具后重试,部分代理对大体积传输的支持存在缺陷
- 切换为更稳定的有线网络,避免WiFi波动导致传输中断
- 内网环境下确认是否存在防火墙、流量管控策略拦截大文件传输
内容的提问来源于stack exchange,提问作者Ujjal
相关产品推荐
相关产品推荐

