【GIT】git clone代码报错:error: RPC failed; result=22, HTTP code = 404

Date: 2021.3.25
Author: jwensh

git clone代码报错

关键词: git git clone

文章目录

  • git clone代码报错
    • 1. 报错信息
    • 2. 解决方式
    • 3. 参考资料

1. 报错信息

POST git-upload-pack (gzip 7992 to 4036 bytes)
error: RPC failed; result=22, HTTP code = 404
fatal: The remote end hung up unexpectedly

大致结论是因为git的版本问题,在 git url上有规范要求:

  • 执行 git clone http://www.xx.com/user/project报错的git版本是git version 1.8.3.1
  • 执行git clone http://www.xx.com/user/project 通过的git版本是git version 2.28.0

2. 解决方式

  1. 可能是缓存太小 (不加 --global 只是对当前项目起作用,相对于修改.git目录下的config文件)

    git config --global http.postBuffer 524288000
    
    或直接
    
    git clone -c http.postBuffer=2147483648  git-path
    
  • 这个操作未能解决
  1. 是否是git路径有问题 (将.git放在url的末尾)【有效】

    使用 http://www.xx.com/user/project 报错, 不再不同的机器上有时能用,有时不能
    
    换成 http://www.xx.com/user/project.git 通过,且所有类型的机器都可以
    
    • .git 后缀有什么作用?可通过参考资料去看下
  2. 其他的解决方案在我的情况下不起作用,做一个垃圾收集为我修复它:

    git gc --aggressive
    可以先试用 git gc 试试
    

3. 参考资料

  1. https://stackoverflow.com/questions/15240815/git-fatal-the-remote-end-hung-up-unexpectedly/31729926
  2. https://zhuanlan.zhihu.com/p/66506485
  3. 匹配git url的正则([A-Za-z0-9]+@|http(|s)\:\/\/)([A-Za-z0-9.]+)(:|/)([A-Za-z0-9\/]+)(\.git)?
  4. 受支持的git url格式是什么?
  5. https://git-scm.com/docs/gitnamespaces
  6. https://git-scm.com/docs/git-upload-pack
  7. https://git-scm.com/docs/git-clone

你可能感兴趣的:(#,GIT,git)