我不得不使用一个没有适当证书的git服务器,但我不想这样做
env GIT_SSL_NO_VERIFY=true git command
每次我做git操作。但我也希望对其他git存储库启用SSL。有没有办法使这个本地到一个单一的回购?
我不得不使用一个没有适当证书的git服务器,但我不想这样做
env GIT_SSL_NO_VERIFY=true git command
每次我做git操作。但我也希望对其他git存储库启用SSL。有没有办法使这个本地到一个单一的回购?
当前回答
您可以执行以下操作
对于一次回购
git config http.sslVerify false
对于所有回购
git config --global http.sslVerify false
其他回答
有一种简单的方法可以配置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
这对我来说很管用:
git init
git config --global http.sslVerify false
git clone https://myurl/myrepo.git
对于windows,如果需要全局配置,则运行
git config --global http.sslVerify false
您可以执行以下操作
对于一次回购
git config http.sslVerify false
对于所有回购
git config --global 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"