【问题标题】:Github - unexpected disconnect while reading sideband packetGithub - 读取边带数据包时意外断开连接
【发布时间】:2021-05-27 16:46:16
【问题描述】:

我有一个很有趣的问题。 我尝试通过 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 应用程序。

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

【问题讨论】:

  • 遇到同样的问题,有没有找到解决办法?
  • 仍然没有找到解决方案。尝试了所有方法,甚至是重装系统之类的愚蠢操作。
  • 您可以尝试取消暂存刚刚提交的文件,这会为推送带来问题。我的问题是两个 png 文件。我取消了它们并解决了问题。
  • 我也试过了,不幸的是它也不起作用

标签: javascript reactjs github


【解决方案1】:

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

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

在 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

正如 kodybrown 所说:

对于 PowerShell 用户:

$env:GIT_TRACE_PACKET=1
$env:GIT_TRACE=1
$env:GIT_CURL_VERBOSE=1

【讨论】:

  • 我在推送后开始体验send-pack: unexpected disconnect while reading sideband packet。重复尝试会导致 CPU 使用率过高,最后会超时。我设置了这三个变量,突然它就起作用了。这里会发生什么?
  • 这与@BrettRyan 相同,只是为了清楚说明我必须在“新创建的目录”中做三件事。是窗户。
  • 什么是扭转这些变化的正确方法?你能解释一下 export GIT_TRACE_PACKET=1 和 rest 的作用吗?
  • 对于 PowerShell 用户:$env:GIT_TRACE_PACKET=1$env:GIT_TRACE=1$env:GIT_CURL_VERBOSE=1
  • git config --global core.compression 0 作品
【解决方案2】:

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

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

git config --global http.postBuffer 157286400

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

    • 我从 5G 无线网络切换到 2.4G 网络,它又开始为我工作了
    【解决方案4】:

    如果您使用的是 SSH URL,您可以尝试以下方法,它在我遇到相同问题的两次都对我有用:

    1. 切换到HTTPS源地址:git remote set-url origin https://github.com/&lt;your_repo&gt;
    2. 推动。现在应该不会失败。
    3. 切换回 SSH:git remote set-url origin git@github.com:&lt;your_repo&gt;

    我仍然不确定问题的原因。这只是一种解决方法。

    【讨论】:

    • 这对我来说非常有效。谢谢!
    • 这对我有用 - 万岁!
    【解决方案5】:

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

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

    【讨论】:

      【解决方案6】:

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

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

      我设法将所有内容添加回来,而没有遇到同样的错误。

      【讨论】:

        【解决方案7】:

        我尝试了上面的建议,但没有成功。

        原来我的问题是路径长度。我不知道是嵌套目录的数量(很多)还是总路径长度(路径+文件)。

        我在驱动器的根目录进行了克隆,并且它可以正常工作(是的,在 Windows 10 上)。

        更新:为了澄清,我必须使用接受的答案克隆到驱动器的根目录。

        【讨论】:

          【解决方案8】:

          我相信您通过 https 而不是 ssh 发送您的项目。尝试使用

          ssh://git@host:port/path/name.git
          

          检查.gitgonfig中的ssl验证是否开启

          sslVerify = true
          

          如果您没有 SSH 密钥,请生成它们并添加到您的远程。这里是 BitBucket 的例子:

          1. https://confluence.atlassian.com/bitbucketserver076/creating-ssh-keys-1026534841.html
          2. https://confluence.atlassian.com/bitbucketserver076/ssh-user-keys-for-personal-use-1026534846.html

          在连接过程中接受密钥

          Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
          

          【讨论】:

            【解决方案9】:

            我遇到了同样的问题。我有一个包含 20000 个文件的仓库,整个仓库的大小约为 5 GB,有些文件的大小为 10 MB。我可以毫无问题地提交回购协议,并且可以毫无问题地克隆(不过这需要一段时间)。然而,每次我将这个 repo 拉到我的机器上时,我都会得到

            remote: Enumerating objects: 1359, done.
            remote: Counting objects: 100% (1359/1359), done.
            remote: Compressing objects: 100% (691/691), done.
            remote: Total 1221 (delta 530), reused 1221 (delta 530), pack-reused 0
            fetch-pack: unexpected disconnect while reading sideband packet
            fatal: early EOF
            fatal: fetch-pack: invalid index-pack output
            

            最终得到帮助的是this tip。转到您的用户目录并编辑 .git/config 并添加:

            [core] 
                packedGitLimit = 512m 
                packedGitWindowSize = 512m 
            [pack] 
                deltaCacheSize = 2047m 
                packSizeLimit = 2047m 
                windowMemory = 2047m
            

            瞧。没有更多错误。

            【讨论】:

              【解决方案10】:

              我有这个错误原因导致未配置 norton 360(防火墙/应用程序阻止程序)。 将norton 360设置为默认设置就可以了。

              【讨论】:

                【解决方案11】:

                我想尝试不同的网络,发现问题仍然存在。由于 Internet 连接性低,您面临这个问题。

                【讨论】:

                • 即使是本地网络?我在使用几个大对象镜像存储库时遇到了这个问题......仍然没有解决方案。
                猜你喜欢
                • 2022-01-15
                • 1970-01-01
                • 2022-08-05
                • 2014-07-14
                • 2021-12-09
                • 1970-01-01
                • 1970-01-01
                • 2011-06-30
                • 1970-01-01
                相关资源
                最近更新 更多