我不得不使用一个没有适当证书的git服务器,但我不想这样做

env GIT_SSL_NO_VERIFY=true git command

每次我做git操作。但我也希望对其他git存储库启用SSL。有没有办法使这个本地到一个单一的回购?


当前回答

特别是当你需要递归克隆

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

其他回答

有一种简单的方法可以配置GIT以正确的方式处理服务器。 只需为你的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错误,并验证(通常)自签名证书。这是最好的方法,因为它可以保护你免受中间人的攻击。当您只是禁用ssl验证时,您很容易受到这类攻击。

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

还有一点,apart from

git config --global http.sslVerify false

只要将SSL验证设置为false,您还必须拥有克隆存储库的密钥。就像这样

git clone https://5edwerwe32434lcvghjjextracgecj@github.com/myorg/MYpro.git"

5edwerwe32434lcvghjjextracgecj是在settings/ Developer settings/下从github生成的令牌

如果你在Windows机器上安装了Git,你可以尝试以下步骤:

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

就像Thirumalai说的,但是在克隆的存储库内部,没有全局。也就是说,

GIT_SSL_NO_VERIFY=true git克隆https://url cd < directory-of-the-clone > Git配置http。sslVerify假

这对我来说很管用:

git init
git config --global http.sslVerify false
git clone https://myurl/myrepo.git