MENU

git clone 报错fatal:protocolerror:badpackheader

October 19, 2019 • 群晖相关,linux相关

错误提示

efrror: RPC failed; curl 18 transfer closed with outstanding read data remaining
atal: The remote end hung up unexpectedly
fatal: protocol error: bad pack header

原因及解决方法

发生这个问题一般是项目中某些资源太大导致,可以尝试ssh方式clone ,或者解决方式如下

  • 首次clone的层数定位在第一层

    git  clone 仓库地址 --depth 1
  • 然后cd到项目目录中

    cd 项目目录
  • 再次拉取内部文件,--unshallow 即不使用浅克隆

    git fetch --unshallow
  • 方法二
    git 服务器上修改 .config 文件:
    增加一项节点 [pack]

    [pack]
      windowMemory = 200m
      SizeLimit = 200m
      threads = 1
      window = 0

    或者命令行执行:

    git config --global pack.windowMemory "200m"
    git config --global pack.SizeLimit "200m" 
    git config --global pack.threads "1"
    git config --global pack.window "0"

不过实测发现,服务端只设置一条 window = 0 就已经OK了。

Last Modified: July 31, 2021