git 克隆时远端意外挂断

2024-01-23

My git尝试克隆存储库一段时间后,客户端反复失败并出现以下错误。

这里可能有什么问题?

Note:我已向 GIT 托管提供商注册了 SSH 密钥

Receiving objects:  13% (1309/10065), 796.00 KiB | 6 KiB/s
fatal: The remote end hung up unexpectedly

快速解决方案:

对于这种错误,我通常首先提高postBuffer尺寸依据:

git config --global http.postBuffer 524288000

(下面的一些评论报告必须将值加倍):

git config --global http.postBuffer 1048576000

(For npm publish, 马丁·布劳恩 https://stackoverflow.com/users/1540350/martin-braun报告在评论中 https://stackoverflow.com/questions/6842687/the-remote-end-hung-up-unexpectedly-while-git-cloning/6849424#comment113682102_6849424将其设置为不超过 50 000 000,而不是默认的 1 000 000)

更多信息:

来自git config手册页 https://git-scm.com/docs/git-config#Documentation/git-config.txt-httppostBuffer, http.postBuffer是关于:

将数据 POST 到远程系统时,智能 HTTP 传输使用的缓冲区的最大大小(以字节为单位)。
对于大于此缓冲区大小的请求,HTTP/1.1 和Transfer-Encoding: chunked用于避免在本地创建大量包文件。默认值为 1 MiB,足以满足大多数请求。

即使对于克隆人来说,这也会产生影响,在这种情况下,OP Joe https://stackoverflow.com/users/136088/joe报告:

[克隆] 现在工作正常


注意:如果服务器端出现问题,并且服务器使用 Git 2.5+(2015 年第 2 季度),错误消息可能会更明确。
See "Git克隆:远程端意外挂断,尝试更改postBuffer但仍然失败 https://stackoverflow.com/a/30696906/6309".


Kulai https://stackoverflow.com/users/1538225/kulai (在评论中 https://stackoverflow.com/questions/6842687/the-remote-end-hung-up-unexpectedly-while-git-cloning/6849424#comment52420161_6849424) 指出此 Atlassian Git 故障排除页面 https://confluence.atlassian.com/pages/viewpage.action?pageId=693897332,其中添加:

Error code 56表示curl收到的错误为CURLE_RECV_ERROR这意味着在克隆过程中存在一些问题导致无法接收数据。
通常,这是由网络设置、防火墙、VPN 客户端或防病毒程序在所有数据传输完毕之前终止连接造成的。

它还提到了以下环境变量,以帮助调试过程。

# Linux
export GIT_TRACE_PACKET=1
export GIT_TRACE=1
export GIT_CURL_VERBOSE=1

#Windows
set GIT_TRACE_PACKET=1
set GIT_TRACE=1
set GIT_CURL_VERBOSE=1

使用 Git 2.25.1(2020 年 2 月),您将对此了解更多http.postBuffer“解决方案”。

See commit 7a2dc95 https://github.com/git/git/commit/7a2dc95cbc25b4b82cff35931f69f8a5aafeb878, commit 1b13e90 https://github.com/git/git/commit/1b13e9032f039c8cdb1994dd092ff2ed32af5cf5 (22 Jan 2020) by brian m. carlson (bk2204) https://github.com/bk2204.
(Merged by Junio C Hamano -- gitster -- https://github.com/gitster in commit 53a8329 https://github.com/git/git/commit/53a83299c7cf7d101342400a6fcc6ba7650e3612, 30 Jan 2020)
(Git Mailing list discussion https://public-inbox.org/git/20200122034543.18927-1-sandals@crustytoothpaste.net/T/#u)

docs https://github.com/git/git/commit/7a2dc95cbc25b4b82cff35931f69f8a5aafeb878: 增加 http.postBuffer 有价值时提及

Signed-off-by: brian m. carlson

用户在各种情况下都会遇到 HTTP 推送问题。

这些问题通常是由于防病毒软件、过滤代理或其他中间人情况造成的;有时,它们是由于网络的不可靠性造成的。

不过网上找到的解决HTTP推送问题的常见方法是增加http.postBuffer。

这对上述任何情况都不起作用,并且仅在少数、高度受限的情况下有用:本质上,当连接不能正确支持 HTTP/1.1 时。

记录何时提高此值是适当的以及它实际的作用,并阻止人们将其用作推送问题的通用解决方案,因为它在那里无效。

所以文档git config http.postBuffer https://github.com/git/git/blob/7a2dc95cbc25b4b82cff35931f69f8a5aafeb878/Documentation/config/http.txt#L195-L209现在包括:

http.postBuffer

将数据 POST 到远程系统时,智能 HTTP 传输使用的缓冲区的最大大小(以字节为单位)。
对于大于此缓冲区大小的请求,将使用 HTTP/1.1 和 Transfer-Encoding: chunked 来避免在本地创建大量包文件。
默认值为 1 MiB,足以满足大多数请求。

请注意,提高此限制仅对禁用分块传输编码有效,因此仅应在远程服务器或代理仅支持 HTTP/1.0 或不符合 HTTP 标准的情况下使用。
一般来说,提高这个值并不是解决大多数推送问题的有效解决方案,但会显着增加内存消耗,因为即使是小推送也会分配整个缓冲区.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

git 克隆时远端意外挂断 的相关文章

  • 反向合并具有干净历史记录的缝合功能分支

    我有这个 d0 f1 d1 d2 f2 d3 merge d4 f3 merge
  • 本地 git 存储库强制从远程 git 存储库更新。 (胖客户端部署)

    Update 我认为这与 Windows git 客户端 msysgit 的问题有关 抱歉打扰你们了 我正在寻找一种方法来使多个客户端框与远程 git 存储库保持同步 强制从远程存储库进行更新并放弃客户端上可能已更改的任何内容 我遇到的问题
  • 如何对私有 jelastic 环境进行版本控制

    为了跟踪 Jelastic 托管环境的配置 我想在 git 存储库中对其进行版本控制 该存储库应该是私有的 并包含多个具有不同版本的不同分支 例如master abc123 v1 1 我的第一次尝试是创建一个私有 github 存储库 其中
  • 我如何知道哪些文件已在 git 中标记为“假设未更改”

    这个答案 https stackoverflow com a 936325 554807向您展示如何将 git 管理的文件标记为 我不希望从该文件的存储库进行更改 IE 拥有该文件的您自己的本地未跟踪版本 即使它仍然受到 git 的修订控制
  • 错误:无法锁定引用..“引用/标签”存在;无法创建“参考/标签/”

    当我尝试从 github 中提取更改时 出现奇怪的 无法锁定引用 错误 我尝试过 git gc 并查找类似的错误 但找不到解决方案 gt git pull error cannot lock ref refs tags v2 8 refs
  • Git在Windows中的克隆比在Linux中慢得多

    我一直在追寻 Windows 上 github 克隆速度极慢的问题 Linux kali 没有这个问题 我的下行连接速度为 100 40 megabit s 我可以获得接近 8mb s 的下载速度 没有问题 我已将电脑直接插入互联网插座 无
  • 如何更改我的 Github Pages 默认 index.html 位置?

    我已经尝试过以下线程中显示的内容 我可以将我的 Github Pages index html 放在存储库的子文件夹中吗 https stackoverflow com questions 25320356 can i have my gi
  • GitLab 是否通过 git-annex 或其他方式支持大文件?

    我运行一个 GitLab 实例 并希望允许我的用户上传几乎任何大小的文件 众所周知 git 在处理大文件方面仍然存在问题 我知道通过将文件存储在其他地方并仅对元数据进行版本控制来规避此问题的方法 例如git annex git media
  • 尝试编译 git 但在 linux 中找不到 libcurl

    我想编译支持 http https 的 git 我有 ls usr include curl curlbuild h curl h curlrules h curlver h easy h mprintf h multi h stdchea
  • 撤消 git pull,如何将存储库恢复到旧状态

    有什么方法可以恢复或撤消 git pull 以便我的源 存储库将恢复到执行 git pull 之前的旧状态 我想这样做是因为它合并了一些我不想这样做的文件 但只合并了其他剩余的文件 那么 我想找回这些文件 可以吗 编辑 我想撤消 git m
  • 从 git 中提取特定的提交/文件

    我在 git 存储库中进行了两次提交 并将它们推送到我的 git 服务器 两个提交是 在第一次提交中文件 A 被提交 在第二次提交中 文件 B 被提交 现在在另一台开发服务器上 我只想从 git 服务器中提取第一个提交或文件 A 这个怎么做
  • 将 git 存储库拆分为压缩的公共和初始私有

    我想在 Github 上开源一个项目 有相当多的提交 超过 2k 我会将它们压缩成一个 初始提交 以便从一个干净的代码库开始并隐藏一些历史内容 问题是 是否有可能 保留一个包含所有初始提交的私有存储库 其中会有一些秘密密钥 travis c
  • Git,无法在 Windows 上克隆存储库

    我正在尝试在 Windows 上使用 git 克隆远程存储库 我可以在我的 mac 上克隆它 但在 Windows 上我遇到了问题 当使用 git bash 克隆时 我收到一条消息 指出服务器的主机密钥未缓存在注册表中 它要求我按 y 或
  • git 别名:多个命令、可变参数

    我经常发现自己输入以下内容 git push remote1 branch1 branch2 tag1 tag2 tag3 git push remote2 branch1 branch2 tag1 tag2 tag3 我更喜欢一个别名 我
  • 如何在 Git 中重命名带注释的标签

    如何在 Git 中重命名现有的带注释的标签 我在存储库上有近一百个代表版本号的标签 每个标签都注释有有关该版本更改内容的有用描述 我想更改用于这些标签的命名样式 记录标签消息 删除标签 然后使用旧消息和新名称重新创建它 这对于手动为近一百个
  • Git 分支名为 origin/HEAD -> origin/master

    我对 Git 还很陌生 但仍在掌握它的窍门 我最近刚刚开始与分支机构合作 遇到了一些问题 我有两个开发系统 一个 Ubuntu 桌面和一个 MacBookPro 我在新的环境中做了很多工作organizationsUbuntu 系统上的分支
  • 将远程存储库导入为具有完整历史记录的子目录

    我想将远程存储库作为具有完整历史记录的子目录进行合并和解耦 有多种方法和问题可以实现这一点 我的第一次尝试是使用subtree但它似乎没有重写文件的历史记录 所以我无法查看合并存储库的历史记录 接下来的尝试是手动合并它 就像 Seth Ro
  • 无法连接到存储库:执行 git 命令时出错:git ls-remote -h ***public github url *** HEAD

    I have installed jenkins on ec2 instance when i try to configure my public github repo with the ec2 instance then it thr
  • 如何在版本控制系统中安全地保存密钥和密码?

    我在版本控制系统中保留了开发和生产服务器的主机名和端口等重要设置 但我知道这是不好的做法保留secrets 如私钥和数据库密码 位于 VCS 存储库中 但密码 就像任何其他设置一样 似乎应该进行版本控制 所以呢is保持密码版本控制的正确方法
  • 你遇到过哪些 git 陷阱?

    我遇到的最糟糕的情况是 git 子模块 我在 github 上有一个项目的子模块 该项目无人维护 我想提交补丁 但无法提交 所以我分叉了 现在子模块指向原始库 而我需要它指向 fork 因此 我删除了旧的子模块 并将其替换为同一提交中新项目

随机推荐

  • 如何在vue中创建警报确认框

    我想在删除文件之前显示一个对话框 我如何用vue做到这一点 这是我尝试的 我的删除文件按钮 a href Delete a 这是我的删除方法 DeleteUser id index axios delete api artist id th
  • 无法实例化片段确保类名存在

    android app Fragment InstantiationException 无法实例化 片段 确保类名存在 是公共的并且有一个空 构造函数是公共的 我意识到有很多关于同一错误的问题 但到目前为止没有一个对我有帮助 我正在从一本书
  • 将 Mercurial 与 Cygwin 一起使用?

    我们一直在尝试将 Mercurial 与 Cygwin 在 Windows 上 一起使用 但遇到错误 因为 Cygwin 使用正斜杠 而 Mercurial 似乎需要反斜杠 有解决方法吗 问题示例 hg status M src myfil
  • 自动运行可移动驱动器

    自动运行在 Windows 中被禁用 我正在寻找替代方案 我得到了这个 AutoIt 脚本 DBT DEVICEARRIVAL 0x00008000 WM DEVICECHANGE 0x0219 GUICreate GUIRegisterM
  • Knockout.js 模板未更新 dependentObservable 上的 UI 绑定

    该应用程序是在 vs2010 中使用 ASP NET MVC 3 编写的 我有一个淘汰赛模板 它使用 a 更新一些 css 和可见绑定 依赖的可观察的 仅当我绑定时才会出现此问题 选择元素的值 间隔ID 如果这没有被绑定 UI 按预期更新
  • 如何链接“并行”类层次结构?

    我有一个小的类层次结构 其中每个类对应于某个 TComponent 后代 例如基类 TDefaultFrobber 及其后代 TActionFrobber 和 TMenuItemFrobber 分别对应于 TComponent TCusto
  • 软件/硬件支持的 Android 密钥库的使用以及可能的安全/可用性缺陷

    我目前正在研究在 Android 应用程序中存储 使用密钥的可能性 我发现了尼古拉 埃连科夫的博客 http nelenkov blogspot com关于这个主题非常有帮助 我学到了很多关于 Android 密钥库和一些基于硬件的实现的知
  • Jetty默认是非阻塞的吗?

    请告诉我 Jetty 默认情况下是否是非阻塞 Web 服务器 例如 下面的代码将 Jetty 作为非阻塞 Web 服务器运行 Server server new Server 8080 ServletContextHandler conte
  • “正在缓存中间结果”是什么意思?

    我有一套n向量存储在3 x n matrix z 我发现外部产品使用np einsum 当我使用以下方法计时时 timeit v np einsum i j gt ij z z 我得到了结果 The slowest run took 7 2
  • 如何将子节点附加到特定位置

    如何将 childNode 附加到 javascript 中的特定位置 我想将 childNode 添加到 div 中的第三个位置 它后面还有其他节点需要向后移动 3变成4等 您可以使用 insertBefore https develop
  • 使用 regex 或 ToDicitionary 获取 url

    我怎样才能获取 oauth verifier RN9vtxDFfozW51CSTuls0J4C oauth token 4 2F3uYq 3vYUSjXaFXtS74B laW2V4d RN9vtxDFfozW51CSTuls0J4C an
  • VS-code 中分支名称旁边的 * 是什么意思?

    我不知道为什么会有 在 Visual Studio 代码中我的 git 分支名称旁边 有什么我应该警惕的吗 大多数 shell 着色插件和 IDE 通常使用 对于分支名称表示当前分支有已修改的文件 或者有时仅表示本地存储库有已创建的文件 但
  • 自定义节样式在sectionList REACT NATIVE中

    你知道如何在React native的sectionList组件中制作水平部分 特定的 吗 我想让第二部分水平 我尝试使用 flex 1 和 flexDirection row 修改 renderItem 中的项目样式 但不起作用 任何人都
  • 为什么 Groovy 正则表达式匹配器不能被否定?

    任何人都可以解释以下内容吗 println x x println x x result true true 没有 groovy 中的运算符 这是一个组合 and println x x 相当于 println x x 你需要的是 prin
  • 通用回调

    Extends https stackoverflow com questions 2485058 equivalent to window settimeout for c Related https stackoverflow com
  • 以编程方式更改应用程序的AppPool

    我需要更改某个网站下所有 选定应用程序的应用程序池 我的 IIS 上有所有网站和应用程序池 但我无法更改它们 有任何想法吗 这是我到目前为止所做的 这对我来说看起来很奇怪 因为只有字符串改变 而不是对象 private void Chang
  • 将 Google Closure 模板与 jQuery 结合使用

    我们开始使用 JavaScript 和 HTML5 创建一个应用程序 该应用程序将使用 REST API 来访问服务器资源 利用我们的开发团队已经熟悉的 jQuery 的强大功能和易用性 该应用程序将成为多语言版本 后来我们决定使用 Jav
  • 为 SQL Server 组合“LIKE”和“IN”[重复]

    这个问题在这里已经有答案了 是否可以合并LIKE and IN在 SQL Server 查询中 所以 这个查询 SELECT FROM table WHERE column LIKE IN Text Link Hello World 查找以
  • 如何检查该行是否在每页的第一行?

    我有要打印的数据列表 我想知道是否有任何方法可以查找该行是否是 JasperReports 报告中每个页面的第一行 有一个内置变量名 V PAGE COUNT 第 COUNT页 内置变量 包含生成当前页面时处理的记录数 对于页面上的第一条记
  • git 克隆时远端意外挂断

    My git尝试克隆存储库一段时间后 客户端反复失败并出现以下错误 这里可能有什么问题 Note 我已向 GIT 托管提供商注册了 SSH 密钥 Receiving objects 13 1309 10065 796 00 KiB 6 Ki