MacOS Monterey下git clone无法克隆仓库报代理语法错误咨询
故障现象
MacOS Monterey 12.4 系统设备上执行仓库克隆操作时持续失败,执行git clone https://github.com/Sheshanator/coursera-test.git命令时抛出如下错误:
fatal: unable to access 'https://github.com/Sheshanator/coursera-test.git/': Unsupported proxy syntax in 'proxy.server.com:port'
故障根因
Git读取到的代理配置不符合语法规范:配置值仅填写了代理域名/地址和端口,缺少代理协议前缀(http://、socks5://等),Git无法识别连接代理的协议类型,直接终止克隆流程。
修复步骤
- 校验现有Git代理配置
打开终端执行以下两条命令,查看当前Git全局配置中的代理值:
如果返回结果为git config --global --get http.proxy git config --global --get https.proxyproxy.server.com:port这类不带协议前缀的格式,即可确认是无效配置。- 校验现有Git代理配置
- 清除错误配置
执行命令删除错误的Git全局代理配置:
git config --global --unset http.proxy git config --global --unset https.proxy- 清除错误配置
- 按需重新配置代理
- 不需要走代理访问仓库的场景:清完配置后直接重新执行clone命令即可正常拉取。
- 需要走HTTP代理的场景:将命令中的端口替换为本地代理实际监听端口后执行:
git config --global http.proxy http://127.0.0.1:代理端口 git config --global https.proxy http://127.0.0.1:代理端口 - 需要走Socks5代理的场景:替换端口后执行:
git config --global http.proxy socks5://127.0.0.1:代理端口 git config --global https.proxy socks5://127.0.0.1:代理端口
- 系统环境变量排查(可选)
如果修正Git配置后仍报相同错误,执行env | grep proxy查看系统环境变量中的代理配置。如果存在不带协议前缀的代理变量,执行unset http_proxy https_proxy all_proxy临时清除即可,也可以打开对应的shell配置文件(.zshrc/.bash_profile,根据自己用的shell选择),把里面的代理配置补上对应协议前缀,保存后执行source 配置文件路径生效。
- 系统环境变量排查(可选)
内容的提问来源于stack exchange,提问作者Sheeshanator
相关产品推荐
相关产品推荐

