Git Clone报错RPC failed; curl 56 Failure when receiving data from the peer如何解决
Git克隆RPC failed; curl 56错误解决方案
对应报错信息:
RPC failed; curl 56 Failure when receiving data from the peer.
克隆远程仓库时遇到错误:Git发生致命错误。
CloneCommand.ExecuteClone
1. 验证仓库基础连通性与凭证
- 执行命令测试仓库基础连通性,确认链路可到达服务端:
git ls-remote 你的目标仓库地址,如果该命令也报错,说明问题出在网络链路层面,与克隆操作本身无关 - 全新设备未配置Git身份的情况下,部分私有仓库服务端会直接中断连接,先配置全局身份信息:
git config --global user.name "你的Git服务端用户名" git config --global user.email "你的Git服务端绑定邮箱" - 若为私有仓库,确认输入的账号密码/访问令牌权限足够,无过期、范围限制问题。
2. 清理残留代理配置
VPN断开后往往不会自动清除Git与系统的残留代理配置,会导致传输链路异常:
- 查看Git全局代理配置:
git config --global --get http.proxy,如果有返回值,执行git config --global --unset http.proxy清除 - Windows系统下打开cmd执行
set http_proxy、set https_proxy,如果有返回值,执行set http_proxy=、set https_proxy=清空当前会话代理后再尝试克隆。
3. 更换为SSH协议克隆
SSH协议的传输稳定性远高于HTTP协议,若服务端支持SSH访问,优先改用SSH地址克隆:
- 生成SSH密钥:
ssh-keygen -t ed25519 -C "你的Git服务端绑定邮箱",全程按回车使用默认配置即可 - 打开用户目录下
.ssh/id_ed25519.pub文件,复制全部内容粘贴到Git服务端的SSH密钥配置页 - 改用SSH格式的仓库地址执行克隆命令:
git clone 你的SSH仓库地址
4. 大仓库特殊处理
若目标仓库体积大、提交历史长,单次拉取全量数据容易触发链路中断,可先执行浅克隆:
- 仅拉取最新1次提交的浅克隆命令:
git clone --depth=1 你的仓库地址 - 进入仓库目录后,按需拉取全量历史:
git fetch --unshallow
5. 修复VS2017内置Git版本兼容性问题
VS2017内置的Git版本非常老旧,存在已知的HTTP传输兼容性缺陷,可手动配置VS使用独立安装的最新版Git:
- 打开VS2017,依次点击「工具」-「选项」-「项目和解决方案」-「Web包管理」-「外部Web工具」
- 点击右上角「添加」,新增你独立安装的Git的cmd目录(默认路径为
C:\Program Files\Git\cmd) - 选中新增的条目,点击上移箭头将其移到列表最顶端,保存设置后重启VS再尝试克隆。
6. 排查安全软件拦截
临时关闭Windows Defender防火墙、第三方杀毒软件、安全管家类工具,再尝试克隆,确认是否是安全软件拦截了Git的出站传输请求。
内容的提问来源于stack exchange,提问作者77Vetter
相关产品推荐
相关产品推荐

