Github - 读取边带数据包时意外断开连接

IT技术 javascript reactjs github
2021-03-30 19:34:24

我有一个很有趣的问题。我尝试通过 bash 将一些项目发送到 repo,最近发送时出现问题。

Enumerating objects: 27, done.
Counting objects: 100% (27/27), done.
Delta compression using up to 16 threads
Compressing objects: 100% (24/24), done.
Writing objects: 100% (25/25), 187.79 KiB | 9.39 MiB/s, done.
Total 25 (delta 1), reused 0 (delta 0), pack-reused 0
send-pack: unexpected disconnect while reading sideband packet
fatal: the remote end hung up unexpectedly

有趣的是,我可以提前 10 分钟发送它,没有任何问题。

我尝试获取新的 repo,创建新文件,重新安装 git,git config --global http.postBuffer 524288000还有更大的数字,还有 https.postBuffer 等等。也安装桌面版同样的问题进来。

我遇到的问题主要是 React 应用程序。

有谁知道解决办法?会出什么问题?

6个回答

首先,检查您的网络连接稳定性。

如果网络连接没有问题,请尝试其他解决方案;它可能有效:

在 Linux 上

在执行 Git 命令之前,在命令行中执行以下操作:

export GIT_TRACE_PACKET=1
export GIT_TRACE=1
export GIT_CURL_VERBOSE=1

在 Windows 上

在执行 Git 命令之前,在命令行中执行以下操作:

set GIT_TRACE_PACKET=1
set GIT_TRACE=1
set GIT_CURL_VERBOSE=1

此外:

git config --global core.compression 0
git clone --depth 1 <repo_URI>
# cd to your newly created directory
git fetch --unshallow 
git pull --all
send-pack: unexpected disconnect while reading sideband packet一推后我开始体验重复尝试会导致高 CPU 使用率,最后它只会超时。我设置了这三个变量,突然它就起作用了。这里会发生什么?
2021-05-28 19:34:24
什么是扭转这些更改的正确方法,您能否解释一下 export GIT_TRACE_PACKET=1 和 rest 的作用?
2021-06-02 19:34:24
对于PowerShell的用户:$env:GIT_TRACE_PACKET=1$env:GIT_TRACE=1,和$env:GIT_CURL_VERBOSE=1
2021-06-15 19:34:24
它与@BrettRyan 相同,只是为了说明我必须在“新创建的目录”中执行三件事。那是窗户。
2021-06-16 19:34:24

可能是你的网络问题。如果网络太慢,则可能会意外断开连接。

如果您有一个良好的互联网并且仍然收到此消息,则可能是发布缓冲区的问题。您可以通过在您的 cmd 中执行以下命令来解决它。

git config --global http.postBuffer 157286400

我不想相信它,但是在 3 次失败的克隆之后,从 wifi 连接(在 Mac 上)切换到硬连线连接(在 Linux 上)使它第一次工作。不知道为什么!

https://serverfault.com/questions/1056419/git-wsl2-ssh-unexpected-disconnect-while-reading-sideband-packet/1060187#1060187

在我的情况下,我在第一次提交到一个新的仓库时遇到了这个错误。

我刚刚删除了 .git 文件夹,然后一次添加了几个文件,每次添加都提交。

我设法重新添加了所有内容,而没有遇到相同的错误。

就我而言,在尝试推送初始提交时,有几个文件大小超过 100MB。由于 GitHub 显然不允许这样做,因此您会收到错误“读取边带数据包时意外断开连接:远程端意外挂断”。

使用 git rm 是不够的,我不得不重新开始使用 git init、git add、git commit 和 git push 来解决问题。