很多公司在使用 Git 构建公司内部的私有仓库时,为了提高数据传输的安全性,使用了 Https 的方式来提供服务,又因为各种原因在服务端使用了自签名的方式。 这样在从客户端访问时就会得到: “SSL certificate problem: self singed certificate” 的错误, 导致相关的操作不能完成。
- 全局禁止验证(不建议)
解决这个问题,比较简单的方法是设置 git 在全局范围(本机的所有项目)止验证证书,使用下面的命令:
1 | git --global config http.sslVerify false |
但这样可能会带来其它的安全问题。
- 在单个项目中禁止
在操作自签名的仓库时,总是加上 “ -c http.sslVerify=false “ 这个参数,比如要克隆一个仓库,则执行:
1 | git -c http.sslVerify=false clone https://your-domain/repos |
要上传到远程仓库,则执行:
1 | git -c http.sslVerify=false push |
在已经克隆到本地的单个项目中,也可以通过执行 config 命令在项目范围内禁止验证证书,进入项目目录,执行:
1 | git config http.sslVerify false |
- 在 IDE 中
在 IDE 中(比如: Intellij IDEA),如果已经通过 “ -c http.sslVerify=false “ 参数克隆了源码库(该步骤需要在命令行完成),可以在项目目录中执行:
1 | git config http.sslVerify false |
以便在单库中禁止验证证书,方便通过 IDE 的相关菜单来完成后续的版本管理操作。