Git clone错误:RPC失败; result = 56,HTTP代码= 200

时间:2014-08-22 08:30:21

标签: git clone

我正在尝试克隆(私有)远程存储库,但我收到以下错误:

 remote: Counting objects: 11410, done
 remote: Finding sources: 100% (11410/11410)
 remote: Getting sizes: 100% (9178/9178)
 error: RPC failed; result=56, HTTP code = 200
 error: inflate: data stream error (invalid block type)
 fatal: pack has bad object at offset 427781: inflate returned -3

我在Windows 8 Pro Build 9200上使用Git版本1.9.4。该存储库上有大文件,但文件大小似乎与我的问题无关,因为当我尝试克隆其他较小的存储库时,我仍然会遇到相同的错误(与AppHarbor一起使用<20Mb)。 有任何想法吗 ?

4 个答案:

答案 0 :(得分:8)

我的系统管理员发现问题出在Avast上。如果您遇到同样的问题并且使用Avast,请尝试禁用它。这解决了我的问题。

答案 1 :(得分:4)

我在ubuntu和debian中找到的git二进制文件都有这个bug。它是由GnuTLS中的一个错误引起的,git是针对这个错误编译的(跟踪here)。使用HTTPS URL在Ubuntu或Debian中克隆git repo是根本不可能的。

您有两种选择:

  1. 使用SSH克隆存储库
  2. 针对libcurl4-openssl-dev重新编译git(libcurl4-gnutls-dev对我不起作用)
  3. 如果您决定选项#2,这里是复制/粘贴,以重新编译debian或ubuntu上的最新git。找到了最新版本的git here

    apt-get update \
    && apt-get install -y build-essential libcurl4-openssl-dev libexpat1-dev gettext libz-dev libssl-dev autoconf \
    && wget https://github.com/git/git/archive/v2.8.1.tar.gz -O git.tar.gz \
    && tar -zxf git.tar.gz \
    && cd git-* \
    && make configure \
    && ./configure --prefix=/usr  \
    && make install
    

答案 2 :(得分:0)

我通过使用SSH来执行克隆来解决它。找到解决方案here

  

要使用SSH与Bitbucket,您可以创建SSH标识。身份   由私钥和公钥组成,它们是密钥对。   私钥驻留在您的本地计算机和公共用户身上   上传到您的Bitbucket帐户。将公钥上传到您的公钥后   帐户,您可以使用SSH连接您拥有的存储库   其他人拥有的存储库,只要其他所有者提供   帐户权限。通过在本地系统和之间设置SSH   在Bitbucket服务器上,您的系统使用密钥对进行自动化   认证;每次你都不需要输入密码   与您的Bitbucket存储库进行交互。

以下是Setup SSH for Git的方法。

答案 3 :(得分:-1)

我在Ubuntu环境中遇到同样的问题,运行导出GIT_CURL_VERBOSE=1解决它。 Here是链接。