GIT-无法克隆或提取存储库(错误输出)



我在克隆/提取一些GIT存储库时遇到问题。大多数存储库都能正常工作,但最大的一个(提交计数-我们将两年前的tfs项目转换为GIT存储库(不起作用。

克隆错误:

git-c filter.lfs.smoot=-c filter.lfs.required=false-c diff.mnemonicprefix=false-c core.quotepath=false--无可选锁克隆--分支主机PROJECTPATHPLACEHOLDER.git c:\Workspace\git\PROJECTNAME正在克隆到"C:\Workspace\GIT\PROJECTNAME"。。。错误:RPC失败;curl 56 Recv故障:连接已重置致命:读取区段标头"浅信息"时出错

Pull错误:

RPC失败;curl 56 Recv故障:连接已重置Git失败,出现致命错误。读取部分标题"确认"时出错

我尝试了谷歌可能的解决方案,但没有任何帮助(增加http.postbuffer,不同版本(。我尝试了不同版本的GIT(2.21,2.27,2.29(,不同的GIT环境(GIT cmd,Microsoft Visual Studio Professional 2019版本16.8.0,Sourcetree 3.3.9(,但输出的错误相同
我们使用BitBucket服务器作为git服务器。我的配置是笔记本电脑,win10 pro,通过vpn远程。

如果有人帮忙,我会很高兴的。谢谢LukášVašek

Ps。如果有任何歧义,请向我询问规格。

我使用以下命令解决了同样的问题:

git clone --depth 20 <repo>

参考:

https://git-scm.com/docs/shallow

更多信息:

git浅克隆(clone--depth(未命中远程分支

我们找到了这个问题的解决方案。VPN防火墙上有某种过滤器(checkPoint(,有时会阻止githttp请求。

考虑到任何与浅层信息相关的信息都来自2019年第二季度的Git 2.18(commit 685fbd32916f3e94bc89aa14e8fdce835b06f801(,也许一个旧的Git会完全忽略该头部分。

如果没有,我会首先检查该存储库是否可以在任何其他环境中克隆(即在Linux机器上,仍然通过VPN访问,但在公司网络的本地(


注意,在某些情况下,此错误消息可能会随着Git 2.37(2022年第三季度(而消失:

"CCD_ 1"<当输出中出现意外的可选部分时,sup>(man(不必要地失败了,这已经用Git 2.37(2022年第三季度(进行了纠正。

参见Jonathan Tan(jhowtan(提交的7709acf(2022年5月16日(
(由Junio C Hamano合并——gitster——于2022年5月25日提交9cf4e0c(

fetch-pack:使意外的peek结果非致命

签字人:Jonathan Tan

当Git服务器响应提取请求时,它可能会在packfile部分之前发送可选部分
为了处理此问题,Git客户端调用packet_reader_peek()(请参阅process_section_header()(,以便在不占用行的情况下查看下一步会发生什么。

然而,正如所实现的那样,只要被窥探的不是一条普通的行,Git就会出错
这不仅出乎意料(在这里,我们只需要知道即将出现的行是否是我们想要的节标题(,而且会导致错误,包括与错误原因无关的节标题的名称。

例如,在$DAYJOB,我们已经看到";CCD_ 8";当涉及的存储库都不是浅存储库时,会显示错误消息。

因此,修复此问题,使peek在下一行是所需的节标题而没有其他内容的情况下返回1
由于此更改,reader->line现在可能是函数中稍后的git fetch0,因此相应地更新错误消息打印代码(expected '%s', received '%s'expected '%s'(。

根据网络配置,通过HTTPS进行克隆可能会失败,并出现错误:读取节头"浅信息">。我有一个类似的场景:Bitbucket+Git存储库由SVN转换而来,历史悠久。

我设法使用SSH克隆了存储库。起初,它是挂着的。为了解决这个问题,我不得不在运行垃圾收集后重新部署存储库:

  • git fsck
  • git-gc—修剪=";0天">

HTTPS上的克隆仍然失败。

最新更新