19

我无法将本地文件夹推送到 GitHub 上的远程存储库。

在我推动它达到大约 96% 之后,然后显示这个..

Counting objects: 4145, done.
Delta compression using up to 2 threads.
Connection to github.com closed by remote host.
fatal: The remote end hung up unexpectedly
Compressing objects:  98% (3919/3969)   

然后在最后 2% 完成后显示此错误...

Compressing objects: 100% (3963/3963), done.
error: pack-objects died of signal 13
error: failed to push some refs to 'git@github.com:example/example.git' 

不确定这意味着什么。

4

5 回答 5

14

这可能是由新的GitHub 文件大小限制引起的,或者由于大数据(例如 2011 年的另一个 SO 问题:Alternative way to do an initial push of a large repo) ,打包过程可能由于大数据而崩溃甚至可以报告限制。

几周前,在一位同事的 Mac OS X 机器上,我在推送时看到了类似的不透明错误消息(尽管仅通过 HTTPS - SSH 给出了很好的错误消息)——但刚刚尝试通过将一个大文件推送到 GitHub 来重现这一点在我自己的 Mac 上,我在两种连接协议上都收到了预期的信息性错误消息(“远程:错误:文件大为 976.56 MB;这超出了 GitHub 的 100 MB 文件大小限制”)。我的同事可能安装了旧版本的 Git,无法正确报告错误。

如果您决定需要从 Git 历史记录中删除大文件(因为这是将它们推送到 GitHub 的唯一方法),我可以推荐BFG

$ java -jar bfg.jar  --strip-blobs-bigger-than 50M  my-repo.git

全面披露:我是 BFG Repo-Cleaner 的作者。

于 2013-09-01T16:08:22.327 回答
10

简单的解决方案是增加 HTTP 发布缓冲区大小以允许将更大的块推送到远程存储库。为此,只需键入:

git config http.postBuffer 52428800

该数字以字节为单位,因此在本例中我将其设置为 50MB。默认值为 1MB。

于 2014-09-15T11:04:00.507 回答
3

如果您无法启动该过程,也可能意味着您的主服务器存储库的权限是错误的。我刚刚遇到了这个问题,并且我在 master 上的存储库具有 root.root 权限,所以我的用户 git 无法在那里写入数据。

您可以在尝试推送之前尝试检查您的主存储库权限。

于 2015-09-16T14:24:16.540 回答
0

我有一个类似的问题。我正在向 repo 添加大量数据集(8.2、2.3、3.5 GB 作为 zip)。我所要做的就是一次推送一个文件,而不是将所有 15GB 的文件一起推送。

在此处输入图像描述

于 2018-11-26T05:52:52.990 回答
0

几个小时以来,bitbucket 都有这个问题。我的解决方案是通过 ssh 进入服务器并从那里对项目进行 git 克隆。

于 2020-06-13T22:04:45.990 回答