当我试图逃跑的时候

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

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


当前回答

最近我也遇到了同样的问题。当克隆远程存储库时,我得到了如下错误:

fatal:对端异常挂机。MiB | 7.00 KiB/s 致命:早期EOF index-pack失败

当我用谷歌搜索这个错误时,我被重定向到这里。我回答了大部分问题,但没有解决我的问题。

唯一的解决办法是重新安装我的“网络适配器(WiFi)驱动软件”。所以,我想强调的是,上述错误也可能是由你电脑的WiFi驱动软件的问题造成的。如果上述答案都不工作,那么您可以尝试重新安装WiFi驱动程序。这将解决问题。

您可以轻松地重新安装WiFi驱动程序,如下所示:

打开网络和互联网设置 选择“网络重置” 然后选择“立即重置”

重启电脑后,尝试git操作成功(推/拉/克隆)。

其他回答

您可能会得到这样的错误

error:不能锁定配置文件。git/config:没有这样的文件或 目录

这是因为你没有本地的。git/config文件。你可以通过下面的命令让它工作:

git config --global http.postBuffer 524288000

我通过重新包装解决了这个问题:

git repack --max-pack-size=100M -a -d

在GitHub桌面的命令提示符中打开知识库> 执行如下命令:

set GIT_TRACE=1
set GIT_CURL_VERBOSE=1
git push origin <branch>

我不认为这是一个好主意,但如果你有备份在你的机器..再推一次,然后尝试克隆repo,然后从旧目录中删除.git,并从新的克隆文件夹中移动.git。Git已解决,但由于这个问题,一些文件可能无法在Git上上传。再次从你的备份,然后把它拉到你的服务器或其他机器,它得到curcurt。现在我刚做了这个…对我有用。在这样做之前,备份一下你的文件夹。

如果我说错了,请指正。我也不知道这样做之后会出什么问题?但这次真的管用了。

如果使用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的文档错误:

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

在我的案例中,这个错误是因为VPN连接中断。只需关闭和打开VPN就可以修复这个错误。