挂在“POST git-receive-pack(chunked)”

时间:2012-05-28 20:44:51

标签: git version-control

我会说实话,我对git的内部知之甚少。

我已经上演并提交了一个40mb的目录,但是当我来推动......

$ git push --verbose --progress
Pushing to https://acron0@bitbucket.org/acron0/project.git
Password for 'https://acron0@bitbucket.org':
POST git-receive-pack (chunked)

这是20分钟。我假设它挂了但是......我能做些什么来找出原因吗?

5 个答案:

答案 0 :(得分:91)

这是Git中的一个错误;使用HTTPS时,它将使用分块编码进行超过特定大小的上传。那些不起作用。

一个微不足道的修复方法是告诉git不要块,直到一些可笑的大尺寸值,例如:

git config http.postBuffer 524288000

答案 1 :(得分:18)

可能是你的凭据。使用git + ssh协议而不是https。

答案 2 :(得分:8)

使用SourceTree推送到BitBucket我每隔几个月就会收到一次这个错误。事实证明,我只需等待额外的五分钟就可以自行解决。看起来它已被绞死,诱惑就是取消并再试一次,但也许会在那里停留一段时间。我知道这已经回答了,但我的承诺可能只有几百kb,而不是原始海报所说的40mb。

答案 3 :(得分:1)

如果您发现此网站因BitBucket失败并显示该错误消息,请查看此答案:

特别是Nicholas PickeringSimon Tewsi关于密钥的哪一部分需要粘贴到BitBucket对话框中的注释。

答案 4 :(得分:1)

使用Git 2.13(2017年第二季度),您可以将http.postBuffer设置为一个非常大的数字(即,在某些平台上大于ulong。)

commit 37ee680David Turner (csusbdt)(2017年4月11日) Junio C Hamano -- gitster --于2017年4月24日commit 4c01f67合并)

  

http.postbuffer:允许全范围的ssize_t

     

不幸的是,为了推送服务器所做的一些大型回购   不支持分块编码,有时必须http postbuffer   超过2千兆字节   在64位系统上,这没关系:我们只是malloc一个更大的缓冲区。

     

这意味着我们需要使用CURLOPT_POSTFIELDSIZE_LARGE来设置   缓冲区大小。