问题描述

在执行克隆时出现证书校验失败:

git clone https://192.168.114.7/demo/example.git
fatal: unable to access 'https://192.168.114.7/demo/example.git/': server certificate verification failed. CAfile: none CRLfile: none

直接答案(环境变量)

让 Git 临时忽略证书校验的环境变量是:

  • GIT_SSL_NO_VERIFY=1

示例:

GIT_SSL_NO_VERIFY=1 git clone https://192.168.114.7/demo/example.git

或在当前 shell 会话中先导出:

export GIT_SSL_NO_VERIFY=1
git clone https://192.168.114.7/demo/example.git

其他方式(非环境变量)

全局关闭 Git 证书校验(不推荐长期使用):

git config --global http.sslVerify false

clone 后仅当前仓库关闭 sslVerify(推荐临时方案)

如果只是为了这个仓库临时工作,不要改全局配置。可以在 clone 成功后,仅写入当前仓库的 .git/config:

cd example
git config --local http.sslVerify false
git config --local --get http.sslVerify

预期输出:

false

说明:

  • --local 只影响当前仓库,不会影响其他仓库。
  • 配置保存位置是当前仓库的 .git/config。
  • 用完建议恢复:
git config --local --unset http.sslVerify

安全提醒

  • 忽略证书校验会增加中间人攻击(MITM)风险。
  • 仅建议在内网临时排障或测试环境使用。
  • 更安全做法:把内网 CA/自签证书加入系统信任链,保持 sslVerify=true。

一句话结论

如果你问“添加哪个环境变量可以让 Git 忽略证书校验”,答案是:GIT_SSL_NO_VERIFY=1。