更新 2018-02-26
让ssh
工作。
我仍然有兴趣知道https
来电失败的原因。
有关通过https进行克隆的下一步搜索方面的任何帮助? (不能使用ssh,端口被阻止)
OS
Windows Server 2012 R2标准版
安装位置
C:\ Program Files \ Git
命令
$ git clone -b <branch_name> https://<PAT>@<company>.visualstudio.com/... <directory>
Cloning into '<directory>'...
fatal: unable to access 'https://<company>.visualstudio.com/...': error setting certificate verify locations:
CAfile: /mingw64/ssl/certs/ca-bundle.crt
CApath: none
我可以cat
来自Git bash的证书
cat /mingw64/ssl/certs/ca-bundle.crt
git config :
$ git config --list
core.symlinks=false
core.autocrlf=true
core.fscache=true
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
help.format=html
rebase.autosquash=true
http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
http.sslbackend=openssl
diff.astextplain.textconv=astextplain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
credential.helper=manager
不存在~/.gitconfig
个文件
尝试使用git -c http.sslVerify=false clone ...
仍然失败:
(我知道这不安全)
fatal: unable to access 'https://<PAT>@<company>.visualstudio.com/...': error setting certificate verify locations:
CAfile: /mingw64/ssl/certs/ca-bundle.crt
CApath: none
看起来它还在尝试阅读证书?!
所有命令都在Git Bash中运行,无论是否有管理权限,都没有改变结果。用户是高级服务帐户。相同的配置和安装适用于同一操作系统的测试服务器,并安装位置。
答案 0 :(得分:0)
首先,我建议您重新安装您的GIT客户端。这可能会解决您的问题,但如果您在卸载每个临时/配置文件时不小心删除每个临时/配置文件,也可能会导致其他问题。
以下内容来自this回答: 重新安装git for windows后出现此问题。我在Windows 10上使用git for Windows 64位。
我发现安装程序不再在C:/Users/[USER_NAME]/AppData/Local/Programs/Git
中安装git。而是安装它
C:\Program Files\Git
。
然而,安装程序未编辑旧的配置文件C:\ProgramData\Git\config
。此文件仍包含旧路径,因此我手动编辑它。
E.g。在我使用的系统上
[http]
sslCAInfo = C:/Programme/Git/mingw64/ssl/certs/ca-bundle.crt
也许您必须使用Program Files
代替
sslCAInfo = C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
答案 1 :(得分:0)
当我错误地将http代理设置为https地址时,我得到完全相同的错误。您可以通过运行git config --list
来检查它。
我有那样的条目:
http.proxy=https://myproxy.com:8080
而不是:
http.proxy=http://myproxy.com:8080
答案 2 :(得分:0)
在Git-2.16.2-64-bit
上遇到此问题降级为Git-2.15.0-64位
问题消失了。