Github:错误克隆我的私人存储库

我正在尝试使用https-URL克隆我的GitHub项目,但是失败并显示错误消息:

$ git clone https://foo@github.com/foo/foo-private.git Cloning into foo-private... Password: error: error setting certificate verify locations: CAfile: /bin/curl-ca-bundle.crt CApath: none while accessing https://foo@github.com/foo/foo-private.git/info/refs fatal: HTTP request failed 

我究竟做错了什么?

我已经看到了这个在Windows上,与msysgit 1.7.2.3。 你必须修复bin / curl-ca-bundle.crt的path 。 我必须使用反斜杠来指定绝对path:

  git config --system http.sslcainfo“C:\ Program Files(x86)\ git \ bin \ curl-ca-bundle.crt” 

或者 – 并非真正推荐 – 您可以select完全closuresSSL检查,方法是执行以下操作:

  git config --system http.sslverify false 

对于这两种情况,这将导致对[git-install-dir] / etc / gitconfig文件的更改,该文件也可以直接编辑。

http://github.com/blog/642-smart-http-support上的原始解决scheme);

我解决了安装Git的问题: https : //git-for-windows.github.io/find证书文件path:

D:\ Program Files \ Git \ mingw64 \ ssl \ certs \ ca-bundle.crt

configurationGitpath:

git config –system http.sslcainfo“D:\ Program Files \ Git \ mingw64 \ ssl \ certs \ ca-bundle.crt”

再试一次

如果您使用MSYS2 …

只需使用以下命令安装证书包:

32位

 pacman -S mingw-w64-i686-ca-certificates ca-certificates 

64位

 pacman -S mingw-w64-x86_64-ca-certificates ca-certificates 

如果您使用Cygwin,则可以使用apt-cyg安装ca-certificates包:

 wget rawgit.com/transcode-open/apt-cyg/master/apt-cyg install apt-cyg /usr/local/bin apt-cyg install ca-certificates 

如何从命令行安装cygwin软件包?

解决:我安装了Git的Windows安装程序的更新时,得到了这个错误。 发生了什么事,我没有安装pipe理员权限,所以Git安装在“C:\ Users \ my_name \ AppData \ Local \ Programs”而不是“C:\ program files”中。 以pipe理员身份重新安装Git,把它放在C:\ program files中,一切都很顺利!

这工作对我来说(我使用Manjaro Linux)。 我运行cmd查看CA证书:

 $ curl-config --ca **/etc/ssl/certs/ca-certificates.crt** 

但实际上我发现了path上的证书:

 **/etc/ca-certificates/extracted/ca-bundle.trust.crt** 

然后将configuration添加到〜/ .gitconfig(如果不存在,创build它):

 **vim ~/.gitconfig** [http] sslVerify = true sslCAinfo = /etc/ca-certificates/extracted/ca-bundle.trust.crt [user] email = <email of github account> name = <username of github account> 

有用!

 .rbenv]$ git pull remote: Counting objects: 70, done. remote: Compressing objects: 100% (47/47), done. remote: Total 70 (delta 39), reused 12 (delta 12), pack-reused 6 Unpacking objects: 100% (70/70), done. From https://github.com/sstephenson/rbenv c43928a..efb187f master -> origin/master + 37ec781...7e57b52 user-gems -> origin/user-gems (forced update) Updating c43928a..efb187f Fast-forward libexec/rbenv-init | 4 ++-- libexec/rbenv-version-file | 1 + test/init.bats | 2 +- test/test_helper.bash | 25 +++++++++++++++---------- 4 files changed, 19 insertions(+), 13 deletions(-) 

git config --system http.sslcainfo /bin/curl-ca-bundle.crt

这工作。 你不必完整的path。

我面对这个时候,混帐拉。 我的编辑全球gitconfiguration文件,修复问题。

转到您的主文件夹并打开.gitconfig文件。 通常是C:\ Users \ .gitconfig

如果该文件不在那里创build它

[HTTP]
sslcainfo = E:\ systools \ git-1.8.5.2 \ bin \ curl-ca-bundle.crt

你必须给你自己的git安装path。 我在这里使用了便携式的git版本。

然后git克隆/拉它将工作。

如果您正在使用与GitHub for Windows应用程序一起安装的Git命令shell,那么在更新之后可能会显示这个以及其他各种问题。 只需启动Git Hub Windows应用程序,然后再closures它。 然后shell将再次工作。 问题是更新不能完成,直到Windows应用程序运行。 在其上使用shell不会触发更新完成。

 git config --global http.sslverify "false" 

将解决问题。 之后popup窗口出现input您的用户名和密码

在Linux上,我有这个错误,并通过运行sudo update-ca-certificates修复它。

在Windows上使用msysgit我有这个错误,原因是我的公司代理证书的增加。

如果你编辑你的curl-ca-bundle.crt,你必须确定你的lineendings。 在curl-ca-bundle的情况下,你必须使用Linux风格的lineendings。

 > git ls-remote --tags --heads https://github.com/oblador/angular-scroll.git fatal: unable to access 'https://github.com/oblador/angular-scroll.git/': error setting certificate verify locations: CAfile: C:\Program Files (x86)\Git\bin\curl-ca-bundle.crt CApath: none 

您可以使用记事本++将行结果转换为Linux(换行符)。

在附注中,如果尝试使用git的用户与安装该用户的用户不同,则可能会在Windows中发生此问题。 错误可能表明git不能访问证书文件。 以pipe理员身份安装git,使用@ rogertoday的答案解决了我的问题。

我尝试了几种方法,但没有成功。

最后想出卸载Github for Windows并重新安装。

我发现了一个很好的解决scheme, 可以在RHEL / CentOS 6上添加/更新CA证书,这是导致报告问题的根本原因。

由于他们成为过时的发行版,该系统中的cacert权限尚未更新,直到执行命令sudo yum update

没有意识到这个问题,直到GIT_CURL_VERBOSE模式显示cacertpath问题。

对于我什么解决了这个问题是当我的Windows 10框,我试着卸载GIT和resintalling,使用Windows Cmd作为默认不Git Bash

打开CMD并运行以下命令

 //Once installed try to resintall the bin folder git config --system http.sslcainfo \bin/curl-ca-bundle.crt //disable ssl verification git config --global http.sslverify "false" //Then try to clone repo again git clone git@github.com:account/someproject.git 

我能用下面的命令解决这个问题。

git config –system http.sslverify false

以下命令

 git clone git://github.com/username/projectname.git 

为我的需求工作,但我认为你不仅需要只读访问,对吧?