使用git push时出现错误“bad line length 8192iB”

3

我使用Visual Studio Team Services和Git来存储我的源代码。

我的游戏包含大文件。 我将游戏代码保存在Visual Studio Team Services中,并没有出现错误。但最近,我添加了更多的大文件,问题开始出现。

当我运行git push时,会收到以下错误:

F:\Games\BarbarianSouls_v2>git push
Counting objects: 19464, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (19457/19457), done.
fatal: protocol error: bad line length 8192iB | 3.24 MiB/s
fatal: sha1 file '<stdout>' write error: Broken pipe
error: failed to push some refs to 'https://gitlab.com/fabiobh/barbarian_souls.git'

这个项目的大小超过了10GB,我不确定这是否会影响存储库。根据微软的说法,VSTS存储库没有大小限制。

我尝试使用以下代码:

git config --global http.postBuffer 524288000

但是它不起作用了,上传停止时显示492mb,然后我尝试使用以下代码:

git config --global http.postBuffer 7242880000

但是我遇到了第一个错误:
fatal: protocol error: bad line length 8192iB

我该如何摆脱这个错误?


不是答案,但我们可以问一下为什么您的存储库这么大? 如果二进制文件(例如图像)是原因,那么您是否可以不将这些文件在 Git 中持久化? - Tim Biegeleisen
我有很多3D文件。我将它们添加到代码库中,因为如果我需要出于某种原因进行恢复,我将需要所有的3D文件。我使用Unity引擎工作。 - fabiobh
1
错误信息实际上是:“致命错误:协议错误:行长度8192不正确”。我在推送一个包含大量二进制文件的大型代码库时也遇到了这个问题。目前还没有找到解决方案。 - MarkR
我将代码仓库分成了少量的文件,这对我很有效。每次 git push 我都会添加一个文件夹。 - fabiobh
2个回答

1
如果您要推送的内容包含多个提交,可以尝试分批次推送提交,而不是一个包含所有提交的大推送。当我遇到这种情况时,这种方法对我有用。
fatal: protocol error: bad line length 8192

消息。例子:

git push origin <commit hash>:master

我将代码仓库分成了少量的文件,这对我很有效。每次 git push 我都会添加一个文件夹。 - fabiobh

0

GitHub不允许单次push超过2 GB(硬限制),这是确切的错误。同时请注意单个文件大小限制为100 MB。

您需要将大小为k(<2GB)的文件添加到仓库的推送中。


我没有使用Github。当我创建这个问题时,我正在使用微软的VSTS。现在微软将其更名为Azure DevOps。它没有文件大小限制。 - fabiobh

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