当我试图逃跑的时候

git push origin master --force

我刚刚

Counting objects: 2649, done.
Delta compression uses up to 2 threads.
Compressing objects: 100% (1280/1280), done.
error: RPC failed; result=22, HTTP code = 413 | 116 KiB/s   
fatal: The remote end hung up unexpectedly
Writing objects: 100% (2504/2504), 449.61 MiB | 4.19 MiB/s, done.
Total 2504 (delta 1309), reused 2242 (delta 1216)
fatal: The remote end hung up unexpectedly
Everything up-to-date

这和缺乏安全感有关吗?我尝试创建一个公钥作为致命的答案:远程端意外挂断并重新运行它,但它仍然不工作。我不是在用钥匙吗?如果是,我该如何使用它?


当前回答

请关闭Nginx和GIT 我在plesk git上得到这个错误,而在推动一个大的回购(谁知道什么)时,它给了我这个HTTP代码413的错误,我研究了以下内容 服务器是Plesk,它有nginx运行以及apache2,所以我查看了日志,并在nginx日志中发现了错误

遵循此链接,允许plesk用较大的文件上传重新构建配置。

我跳过了git的php部分

在git推送工作之后,没有任何错误。

其他回答

这看起来类似于我如何让github默认为ssh,而不是https的新存储库。 也许从http协议切换到ssh协议是值得的:

$ git remote add origin git@github.com:username/project.git

如果使用GitHub,在repo目录下,运行此命令设置http。postBuffer似乎是它的最大允许值GitHub:

git config http.postBuffer 2147483648

如果使用git clone克隆一个repo,可以使用相同的选项克隆它:

git clone -c http.postBuffer=2147483648 git@github.com:myuser/myrepo.git /path/to/myrepo

在这两种情况下,上述数字都相当于2 GiB。然而,您可能需要达到这个数量的空闲内存才能使用这个值。

确保每次推送到GitHub都提交不超过这个大小的更改。事实上,为了安全起见,我会将提交推的大小保持在1.8 GiB以下。这可能需要将一个较大的提交划分为较小的提交和推送。

为什么是这个值?

之所以使用这个特定的值,是因为至少在2018年,这个值被记录为GitHub的推送大小限制:

我们不允许超过2GB的推送

为什么不放低一点呢?

一些先前的答案说将其设置为524288000 (500 MiB),但这个数字似乎是任意的,没有价值。任何较低的值都可以工作,只要您的推送大小不大于设置的值。

为什么不设高一点呢?

如果你将这个值设置为高于2 GiB,并且如果你尝试的推送大小也更高,你可以期待GitHub的文档错误:

远程:致命:包超过允许的最大大小

我尝试了上面的大部分选择,没有一个对我有效, 但这是可行的

Git重置origin/branch_name——force

这可能会起作用,但你会失去你的工作 您可以复制更改到git的旧或新位置。

另一个补充,因为我遇到这个错误不同的方式和谷歌把我带到这里。

我的问题是箱子不匹配;一只骆驼箱,一只没有。显然,GIT会在不告诉你原因的情况下阻止你这么做。因此,如果您的分支只在大小写上与远程分支不同,请尝试将它们更改为相同。

看到的: Git:合并后'Master无法解析为分支'

罪魁祸首(就我而言): 高时延网络。

这本身不是一个答案,而更多的是一种观察,可以帮助其他人。我发现这个错误偶尔会在高延迟网络上弹出(例如,我必须使用卫星天线上网)。网络的速度很好,但延迟可能很高。注意:问题只存在于某些场景,但我还没有确定是什么模式。

临时缓解: 我换了网络——我换到了一个更慢,但延迟更低的蜂窝网络(我的手机用作热点)——问题消失了。请注意,我只能周期性地这样做,因为我的手机连接也是间歇性的。再加上带宽的使用增加了成本。我也很幸运,我有这样的选择。不是每个人都这样。

我确信在某个地方有一些配置设置使git -或ssh或curl或任何先超时的东西对这样的网络更宽容,但我不知道它是什么。

对开发商的呼吁: 这类问题对农村人口来说是一个持续的问题。当您设计系统、工具和应用程序时,请考虑我们。谢谢你!