优先使用macos钥匙串验证:git config --global http.sslbackend secure-transport;临时禁用用-c http.sslverify=false;永久禁用仅限可信内网;手动指定证书路径需匹配芯片架构。

Mac上Git执行clone、push等HTTPS操作时突然报“SSL certificate problem”,说明Git正在校验服务器证书但找不到可信根证书,此时需要快速让命令跑通——但必须清楚每种操作的安全代价和适用边界。
优先切换到系统证书验证后端
macOS自带钥匙串服务管理全部可信根证书,比Git内置的OpenSSL证书包更及时、更可靠。这一步能解决80%以上因证书过期或路径错误引发的问题,且无需手动下载文件。
运行命令:git config --global http.sslBackend secure-transport
执行后立刻生效,不用重启终端,也不用检查证书路径是否存在。如果之前设过http.sslCAInfo,这条命令会自动覆盖它。
临时禁用SSL验证(仅限单次操作)
当你在CI脚本、Docker构建或一次性调试中急需绕过证书检查,又不想污染全局配置,就用这个方法。
在命令前加-c http.sslVerify=false参数,例如:git -c http.sslVerify=false clone https://github.com/user/repo.git
这行命令只影响当前这一次执行,结束后Git恢复原有设置,不会留下安全隐患。
永久关闭验证(不推荐,仅限内网自签环境)
如果你连接的是实验室GitLab、公司内部Gitee或私有HTTPS代理,且确认网络链路完全可控,才考虑此操作。
方法一:对当前用户全局关闭git config --global http.sslVerify false
方法二:仅对当前仓库关闭
进入项目目录后执行:git config http.sslVerify false
【禁用后所有HTTPS通信将明文传输账号、token和代码内容】 一旦设为false,后续所有git push都可能被中间人截获,切勿在公共Wi-Fi或共享设备上使用。
手动指定证书路径(当secure-transport失效时)
某些Homebrew安装的Git版本或M1/M2芯片上的定制编译版,可能无法自动调用钥匙串,这时需明确告诉Git证书在哪。
第一步:确认证书文件存在
M1/M2 Mac执行:ls /opt/homebrew/etc/ca-certificates/cert.pem
Intel Mac执行:ls /usr/local/etc/ca-certificates/cert.pem
第二步:设为Git证书源
M1/M2:git config --global http.sslCAInfo "/opt/homebrew/etc/ca-certificates/cert.pem"
Intel:git config --global http.sslCAInfo "/usr/local/etc/ca-certificates/cert.pem"
第三步:验证是否写入成功
运行git config http.sslCAInfo,输出应与上一步路径完全一致。











