Git push报错fatal: protocol 'https' is not supported如何排查解决
Git推送报错
fatal: protocol 'https' is not supported原因及解决方案 报错原因
这个报错的核心原因是Git识别到的远程连接协议配置非法,绝大多数场景由两类问题触发:
- 本地配置的
origin远程仓库地址格式错误,复制地址时混入了不可见零宽字符、中文标点、多余空格/引号,导致Git无法正确识别https协议头 - Git或系统层面的网络代理配置错误,代理地址漏写了
http://协议前缀,Git发起连接时误将代理配置内容识别成协议字段触发报错
排查&解决步骤
- 第一步先校验当前远程仓库地址配置,执行命令:
git remote -v
正常返回格式如下,地址部分应为纯合法HTTPS链接,无多余符号:
origin https://对应仓库的实际地址.git (fetch) origin https://对应仓库的实际地址.git (push)
如果看到返回的地址里https前后存在奇怪字符、多余引号或者空格,直接重新设置正确的远程地址即可:
git remote set-url origin 你自己仓库的正确HTTPS地址
注意:复制仓库地址时尽量直接从代码仓库页面的克隆按钮处复制,不要从富文本、聊天窗口里复制地址,避免带入不可见特殊字符;输入命令时切换到英文输入法,避免中文标点混入。
- 如果远程地址检查无异常,排查Git全局代理配置,执行以下两条命令查看代理配置:
git config --global --get http.proxy git config --global --get https.proxy
如果返回的代理地址是类似127.0.0.1:端口号这种没有带http://前缀的格式,就会触发该报错。可以直接删除错误的代理配置:
git config --global --unset http.proxy git config --global --unset https.proxy
如果需要保留代理,重新设置带正确协议前缀的代理地址即可。
- Windows系统如果以上两步操作后还是报错,检查系统环境变量中的
HTTP_PROXY、HTTPS_PROXY值,确认代理地址是否漏写http://前缀,修正后重启终端再尝试推送。
验证
所有配置修正后,重新执行推送命令即可正常提交代码:
git push -u origin main
内容的提问来源于stack exchange,提问作者MoosaZK
相关产品推荐
相关产品推荐

