我必须使用没有适当证书的git服务器,但我不想这样做
env GIT_SSL_NO_VERIFY=true git command
Run Code Online (Sandbox Code Playgroud)
每次我做一个git操作.但我还想为其他git存储库启用SSL.有没有办法让这个本地的单一回购?
Joa*_*son 469
要全局设置,您可以这样做
git config http.sslVerify false
Run Code Online (Sandbox Code Playgroud)
要仅为项目设置它,请转到git项目文件夹root并运行
git config http.sslVerify false
Run Code Online (Sandbox Code Playgroud)
在您的特定仓库中,仅禁用该仓库的SSL证书检查.
Thi*_*gan 100
你可以这样做
对于单个回购
git config http.sslVerify false
Run Code Online (Sandbox Code Playgroud)
对于所有回购
git config --global http.sslVerify false
Run Code Online (Sandbox Code Playgroud)
mce*_*epl 92
就像Thirumalai所说的那样,但是克隆的存储库里面没有--global
.也就是说,
GIT_SSL_NO_VERIFY=true git clone https://url
cd <directory-of-the-clone>
git config http.sslVerify false
Ham*_*yed 14
除此以外还有一点
git config --global http.sslVerify false
Run Code Online (Sandbox Code Playgroud)
只需将 SSL 验证设置为 false,您还必须拥有克隆存储库的密钥。像这样的东西
git clone https://5edwerwe32434lcvghjjextracgecj@github.com/myorg/MYpro.git"
Run Code Online (Sandbox Code Playgroud)
5edwerwe32434lcvghjjextracgecj 是在github的settings/ Developer settings/下生成的token
sha*_*nth 11
如果您使用的是Windows计算机并安装了Git,则可以尝试以下步骤:
在[http]部分下,添加以下行:sslVerify = false
[http]
sslVerify = false
Run Code Online (Sandbox Code Playgroud)Mat*_*t M 11
如果您必须为托管多个存储库的一台 git 服务器禁用 SSL 检查,您可以运行:
git config --bool --add http.https://my.bad.server.sslverify false
Run Code Online (Sandbox Code Playgroud)
这会将其添加到您的用户配置中。
检查命令:
git config --bool --get-urlmatch http.sslverify https://my.bad.server
Run Code Online (Sandbox Code Playgroud)
(如果你仍然使用 git < v1.8.5,请运行git config --global http.https://my.bad.server.sslVerify false
)
命令末尾的文档说明,显示
.gitconfig
内容如下:
[http "https://my.bad.server"]
sslVerify = false
Run Code Online (Sandbox Code Playgroud)
无论存储库是什么,它都会忽略对该服务器的任何证书检查。
你在代码中也有一些解释
小智 9
特别是如果你需要递归克隆
GIT_SSL_NO_VERIFY=true git clone --recursive https://github.com/xx/xx.git
Run Code Online (Sandbox Code Playgroud)
有一种简单的方法可以将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
Run Code Online (Sandbox Code Playgroud)
这样,您将不再有SSL错误并验证(通常是)自签名证书。这是最好的方法,因为它可以保护您免受中间人攻击。当您仅禁用SSL验证时,您很容易受到此类攻击。
https://git-scm.com/docs/git-config#git-config-httplturlgt
这个问题不断出现,我还没有找到令人满意的结果,所以这对我有用(基于之前的答案/sf/answers/3689445371/,它不起作用):
我的服务器https://gitlab.dev
带有自签名证书。
首先运行git config --system --edit
(从提升的命令提示符,更改--system
为--global
如果您只想为您的用户执行此操作),然后在之前的任何[http]
部分之后插入以下代码段:
[http "https://gitlab.dev"]
sslVerify = false
Run Code Online (Sandbox Code Playgroud)
然后检查您是否正确执行了所有操作:
> git config --type=bool --get-urlmatch http.sslVerify https://gitlab.dev
false
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
501385 次 |
最近记录: |