我如何只为特定回购设置GIT_SSL_NO_VERIFY?

我必须使用没有适当证书的git服务器,但我不想做

env GIT_SSL_NO_VERIFY=true git command 

每一次我做一个git操作。 但是我也想为其他git仓库启用SSL。 有没有办法让这个地方到一个单一的回购?

你可以做

 git config http.sslVerify "false" 

在您的具体回购,以禁用SSL证书检查只回购。

就像Thirumalai所说的那样,但是在克隆版本库里却没有--global 。 也就是说,

  1. GIT_SSL_NO_VERIFY=true git clone https://url
  2. cd <directory-of-the-clone>
  3. git config http.sslVerify false

你可以做如下

对于单个回购

 git config http.sslVerify false 

对于所有的回购

 git config --global http.sslVerify false 

如果您在Windows计算机上并安装了Git,则可以尝试以下步骤:

  1. 转到Git安装文件夹,例如:C:\ Program Files(x86)\ Git \ etc
  2. 编辑文件: gitconfig
  3. [http]部分下,添加以下行: sslVerify = false

     [http] sslVerify = false 

特别是如果你需要recursion克隆

 GIT_SSL_NO_VERIFY=true git clone --recursive https://github.com/xx/xx.git 

对于Windows,如果你想全局configuration,然后运行

 git config --global http.sslVerify false 

如何在Windows上运行这个命令? 你用哪个工具来运行命令? 是cmd.exe等

git config –global http.sslVerify false

在Linux上,如果你在git仓库文件夹中调用它:

 git config http.sslVerify false 

这将在.git文件夹中的config文件的[http]部分中添加sslVerify = false ,如果要使用nano .git/config手动添加,也可以是解决scheme:

 ... [http] sslVerify = false 

有一个简单的方法来configurationGIT以正确的方式处理您的服务器。 只需为您的git服务器添加一个特定的http部分,并指定要信任的证书(Base64编码):

〜/的.gitconfig

 [http "https://repo.your-server.com"] # windows path use double back slashes # sslCaInfo = C:\\Users\\<user>\\repo.your-server.com.cer # unix path to certificate (Base64 encoded) sslCaInfo = /home/<user>/repo.your-server.com.cer 

这样,您将不会再有SSL错误,并validation(通常)自签名证书。 这是最好的方式,因为它可以保护你免受中间人攻击。 当你只是禁用sslvalidation你很容易受到这种types的攻击。

https://git-scm.com/docs/git-config#git-config-httplturlgt