我如何只为特定回购设置GIT_SSL_NO_VERIFY?
我必须使用没有适当证书的git服务器,但我不想做
env GIT_SSL_NO_VERIFY=true git command
每一次我做一个git操作。 但是我也想为其他git仓库启用SSL。 有没有办法让这个地方到一个单一的回购?
你可以做
git config http.sslVerify "false"
在您的具体回购,以禁用SSL证书检查只回购。
就像Thirumalai所说的那样,但是在克隆版本库里却没有--global
。 也就是说,
-
GIT_SSL_NO_VERIFY=true git clone https://url
-
cd <directory-of-the-clone>
-
git config http.sslVerify false
你可以做如下
对于单个回购
git config http.sslVerify false
对于所有的回购
git config --global http.sslVerify false
如果您在Windows计算机上并安装了Git,则可以尝试以下步骤:
- 转到Git安装文件夹,例如:C:\ Program Files(x86)\ Git \ etc
- 编辑文件: gitconfig
-
在[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的攻击。