Git推送失败

3

我正尝试向git推送,但出现了以下错误信息

Enumerating objects: 57, done.
Counting objects: 100% (56/56), done.
Delta compression using up to 8 threads
Compressing objects: 100% (40/40), done.
error: RPC failed; HTTP 504 curl 22 The requested URL returned error: 504
send-pack: unexpected disconnect while reading sideband packet
Writing objects: 100% (41/41), 185.34 MiB | 1.51 MiB/s, done.
Total 41 (delta 13), reused 0 (delta 0), pack-reused 0
fatal: the remote end hung up unexpectedly
Everything up-to-date

我已经尝试过:

git config http.postBuffer 524288000

但是这导致了一个不同但相似的消息:
Enumerating objects: 57, done.
Counting objects: 100% (56/56), done.
Delta compression using up to 8 threads
Compressing objects: 100% (40/40), done.
Writing objects: 100% (41/41), 185.34 MiB | 6.38 MiB/s, done.
Total 41 (delta 13), reused 0 (delta 0), pack-reused 0
error: RPC failed; curl 92 HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1)
send-pack: unexpected disconnect while reading sideband packet
fatal: the remote end hung up unexpectedly
Everything up-to-date

非常感谢您的帮助!


看起来你正在提交许多包含二进制文件的代码。 1)你的代码为什么有二进制文件?如果是错误,请将它们删除。2)如果允许,则尝试使用SSH推送您的代码,HTTP存在超时问题。 - Mudassir Razvi
504是“网关超时”:某个地方断开了您的连接。这与缓冲区大小无关,但(正如@MudassirRazvi所说)可能与您发送的提交中文件的大小有关。您确实发送了一组相当大的数据(185 MB,分布在40个内部Git对象上)。这并不完全荒谬(有些人将多GB的文件放入存储库中,而像GitHub这样的站点会拒绝),但它通常很大。 - torek
2个回答

7

上面指出的问题是我试图承担太多。

我运行了:

git reset --soft HEAD~1

这将删除以前的提交记录,然后我提交并推送了较小的更改。


很高兴你解决了问题,请接受你的答案,这样其他遇到同样问题的人就可以轻松找到它。 - Felix Arnold

0
如果您提交的内容过多,您可以增加HTTP缓冲区的大小:
git config --global http.postBuffer 120000000(约120MB)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接