公司自己搭建的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