我不得不使用一个没有适当证书的git服务器,但我不想这样做
env GIT_SSL_NO_VERIFY=true git command
每次我做git操作。但我也希望对其他git存储库启用SSL。有没有办法使这个本地到一个单一的回购?
我不得不使用一个没有适当证书的git服务器,但我不想这样做
env GIT_SSL_NO_VERIFY=true git command
每次我做git操作。但我也希望对其他git存储库启用SSL。有没有办法使这个本地到一个单一的回购?
当前回答
如果你必须禁用SSL检查一个git服务器托管多个存储库,你可以运行:
git config --bool --add http.https://my.bad.server.sslverify false
这将把它添加到用户的配置中。
检查命令:
git config --bool --get-urlmatch http.sslverify https://my.bad.server
(如果你仍然使用git < v1.8.5,执行git config——global http.https://my.bad.server。sslVerify假)
命令在文档末尾的解释中显示 .gitconfig内容如下:
[http "https://my.bad.server"]
sslVerify = false
它将忽略此服务器的任何证书检查,无论存储库是什么。
在代码中也有一些解释
其他回答
这个问题不断出现,我还没有找到一个令人满意的结果,所以下面是对我有效的方法(基于之前的答案https://stackoverflow.com/a/52706362/1806760,这是无效的):
我的服务器是https://gitlab.dev,具有自签名证书。
首先运行git config——system——edit(从一个提升的命令提示符,如果你想为你的用户这样做,将——system更改为——global),然后在任何前面的[http]部分之后插入以下代码片段:
[http "https://gitlab.dev"]
sslVerify = false
然后检查你做的是否正确:
> git config --type=bool --get-urlmatch http.sslVerify https://gitlab.dev
false
在Linux上,如果你在git仓库文件夹中调用这个:
git config http.sslVerify false
这将在配置文件的[http]部分的.git文件夹中添加sslVerify = false,这也可以是解决方案,如果你想手动添加nano .git/config:
...
[http]
sslVerify = false
你可以这样做
git config http.sslVerify "false"
在特定的回购中禁用SSL证书检查仅用于该回购。
这将不工作与git克隆,因为你还没有本地git回购能够设置标志还。因此在这种情况下:
git -c http.sslVerify=false clone <path>
cd <directory>
git config http.sslVerify "false"
如果你必须禁用SSL检查一个git服务器托管多个存储库,你可以运行:
git config --bool --add http.https://my.bad.server.sslverify false
这将把它添加到用户的配置中。
检查命令:
git config --bool --get-urlmatch http.sslverify https://my.bad.server
(如果你仍然使用git < v1.8.5,执行git config——global http.https://my.bad.server。sslVerify假)
命令在文档末尾的解释中显示 .gitconfig内容如下:
[http "https://my.bad.server"]
sslVerify = false
它将忽略此服务器的任何证书检查,无论存储库是什么。
在代码中也有一些解释
还有一点,apart from
git config --global http.sslVerify false
只要将SSL验证设置为false,您还必须拥有克隆存储库的密钥。就像这样
git clone https://5edwerwe32434lcvghjjextracgecj@github.com/myorg/MYpro.git"
5edwerwe32434lcvghjjextracgecj是在settings/ Developer settings/下从github生成的令牌