Ubuntu 18.04/20.04执行git clone遇RPC failed;HTTP 302错误求助
解决Git Clone时的HTTP 302 RPC失败问题
针对Ubuntu 18.04/20.04中必现的Error: RPC failed; HTTP 302 curl 22 The requested URL returned error: 302错误,核心原因是新版本Git(2.x系列)与Ubuntu 16.04的旧版Git(1.x系列)对HTTP重定向的处理逻辑差异,以下是具体解决步骤:
替换仓库地址为HTTPS协议
多数Git服务器会将HTTP请求重定向到HTTPS,旧版Git可能自动兼容这种跳转,新版则可能触发严格校验。直接使用HTTPS地址克隆:git clone https://your-repo-url.git配置Git允许跟随所有重定向
新版Git默认限制重定向行为,通过全局配置开启自动跟随:git config --global http.followRedirects true仅针对当前仓库则移除
--global参数。增大HTTP传输缓冲区
重定向后的连接可能因缓冲区不足触发RPC失败,设置更大的缓冲区:git config --global http.postBuffer 1048576000调整Git版本(可选)
若上述方法无效,可尝试匹配Ubuntu 16.04的Git版本,或升级到最新稳定版:- 升级Git:
sudo add-apt-repository ppa:git-core/ppa sudo apt update sudo apt install git - 降级到旧版本(需谨慎,可能影响其他功能):
sudo apt remove git sudo apt install git=1:2.7.4-0ubuntu1
- 升级Git:
用curl验证重定向行为
先测试仓库地址的跳转情况,确认是否为多次重定向导致:curl -v http://your-repo-url.git若curl需加
-L参数才能正常访问,说明Git的重定向配置需要调整,回到第二步。
内容的提问来源于stack exchange,提问作者May
相关产品推荐
相关产品推荐

