.gitconfig目前,我的用户目录中有以下条目。
...
[http]
sslCAInfo=C:\\Users\\julian.lettner\\.ssh\\git-test.pem
...
这将设置与 git 服务器交互时使用的证书(我公司的 git 服务器需要)。
但现在我无法克隆其他存储库(例如 GitHub 上的公共存储库),因为客户端始终使用被其他服务器拒绝的配置证书。
如何规避此认证问题?我可以将 Git 配置为使用 Windows 证书存储进行身份验证吗?
.gitconfig目前,我的用户目录中有以下条目。
...
[http]
sslCAInfo=C:\\Users\\julian.lettner\\.ssh\\git-test.pem
...
这将设置与 git 服务器交互时使用的证书(我公司的 git 服务器需要)。
但现在我无法克隆其他存储库(例如 GitHub 上的公共存储库),因为客户端始终使用被其他服务器拒绝的配置证书。
如何规避此认证问题?我可以将 Git 配置为使用 Windows 证书存储进行身份验证吗?
从 Git for Windows 2.14 开始,您现在可以将 Git 配置为使用内置的 Windows 网络层 SChannel。这意味着它将使用 Windows 证书存储机制,您无需显式配置 curl CA 存储机制。
来自 Git for Windows 2.14发行说明:
现在可以通过将
http.sslBackendconfig 变量设置为"openssl"or来在安全通道和 OpenSSL 之间切换 Git 的 HTTPS 传输"schannel";这也是安装程序现在使用的方法(而不是复制libcurl-4.dll文件)。
您可以在安装 Git for Windows 2.14 期间选择新的 SChannel 机制。您还可以通过运行以下命令更新现有安装以使用 SChannel:
git config --global http.sslBackend schannel
一旦你配置了这个,Git 将使用 Windows 证书存储并且不应该要求(实际上应该忽略)http.sslCAInfo配置设置。
利用:
git config --local ...
指定每个存储库的设置。本地设置存储在.git目录中。
git可以存储设置的三个位置的概述:
--local:特定于存储库,<repo_dir>/.git/config--global:用户特定的,~/.gitconfig--system:系统默认值,/etc/gitconfig更具体的覆盖更一般的设置,即本地覆盖全局和系统。