Git v2.39.0.2:无法通过HTTPS克隆仓库,求调试方向
Git HTTPS克隆触发SSH权限错误的调试排查步骤
1. 检查URL重定向配置
Git的url.<base>.insteadOf配置可能自动把HTTPS地址替换成SSH地址,导致错误触发SSH认证。执行命令查看全局和本地仓库的相关配置:
git config --global --get-regexp insteadOf git config --local --get-regexp insteadOf
如果输出类似url.git@github.com:.insteadOf https://github.com/的内容,说明HTTPS被强制转成SSH,用以下命令删除全局配置(本地配置则去掉--global参数):
git config --global --unset url.git@github.com:.insteadOf
2. 排查凭据助手异常
凭据助手配置错误可能导致HTTPS请求处理异常,先查看当前凭据助手设置:
git config --global credential.helper
若配置有问题,可重置为Windows默认凭据助手(基于Git Bash的Windows环境):
git config --global credential.helper wincred
也可以直接清空GitHub的凭据缓存:
git credential-manager-core erase https://github.com
3. 测试HTTPS网络连通性
绕过Git配置,用curl直接测试HTTPS连接是否正常:
curl -v https://github.com/espressif/esp-idf.git
如果curl能正常返回内容,说明网络层面HTTPS无问题,问题出在Git配置;若curl报错,检查系统代理、防火墙是否拦截了443端口。
4. 检查SSL验证配置
错误关闭SSL验证可能引发HTTPS连接异常,查看当前设置:
git config --global http.sslVerify
若返回false,尝试开启SSL验证:
git config --global http.sslVerify true
开启后若出现证书错误,需导入系统缺失的根证书。
5. 查看Git调试日志
执行克隆时开启详细日志,追踪HTTP请求的完整过程:
GIT_CURL_VERBOSE=1 git clone https://github.com/espressif/esp-idf.git
从日志中可查看Git实际发起的请求地址、认证流程等细节,精准定位问题。
6. 检查SSH相关环境变量
确认是否有环境变量强制Git使用SSH:
echo $GIT_SSH echo $GIT_SSH_COMMAND
若有相关设置,暂时取消后重新测试克隆。
内容的提问来源于stack exchange,提问作者Terror404
相关产品推荐
相关产品推荐

