公司自己搭建的git仓库,当使用https拉代码时,会报出如下错误

$ git clone https://XXXXXX/XXXX.git
Cloning into 'XXXXXXXX'...
fatal: unable to access 'https://cXXXXXX/XXXX.git': SSL certificate problem: unable to get local issuer certificate

这是由于服务器的SSL证书未经过第三方机构签署或者使用了临时生成的ssl证书,因此无法通过git ssl认证导致的
解决此类问题有两种方法,一种是暂时取消ssl认证,另一种是永久取消认证

暂时取消ssl认证

首先,在clone代码时设置环境变量

env GIT_SSL_NO_VERIFY=true  git clone https://host_name/git/project.git

最后,在在克隆完毕的仓库中将http.sslVerify设置为 false

git config http.sslVerify "false" 

该方法保证了忽略ssl认证为单次行为,并没有影响全局配置

永久取消ssl认证

由于我在clone代码时一般都会验证仓库可靠性,因此我这里选择修改全局配置,永久取消ssl认证

git config --global http.sslVerify false