我正在尝试git pull
从github中的远程存储库到本地计算机中进行操作...但是git陷入了“解压缩对象”阶段的70%,没有任何进展的迹象。.(现在离开了几个小时保持不变)
关于如何解决此问题的任何建议?
是否可以指示git从远程存储库中仅下载最新的提交/版本,而没有所有中间状态?
我正在尝试git pull
从github中的远程存储库到本地计算机中进行操作...但是git陷入了“解压缩对象”阶段的70%,没有任何进展的迹象。.(现在离开了几个小时保持不变)
关于如何解决此问题的任何建议?
是否可以指示git从远程存储库中仅下载最新的提交/版本,而没有所有中间状态?
git clone --depth 1
。拥有良好的互联网连接非常有帮助,例如,以我的经验,在Rackspace服务器上克隆Github存储库的速度很快(因为您位于相同的基础架构中,并且github.com
服务器可能在附近)。
Answers:
当我在github.com上git pull一个仓库时,我遇到了同样的问题。我发现有一些大文件,与github的连接速度很慢。因此,也许您只需要耐心等待git提取整个存储库即可。
对我来说,解决方案是将协议说明符从https更改为git,例如:
git clone https://github.com/some/repository
to
git clone git://github.com/some/repository
编辑:
这是有关Git中使用的协议的一些信息。
一些重点:
Git协议的缺点是缺少身份验证。
它还需要防火墙访问端口9418,这不是公司防火墙始终允许的标准端口。
我发现大型二进制对象(如Adobe Illustrator文件等)也容易使整个拉/推过程陷入困境。
这就是为什么我现在喜欢在设计和代码中使用两个存储库。
[...]但是git陷入“
Unpacking objects
”阶段的比例为70%,没有任何进展的迹象
在Git 2.25(2020年第1季度)中,“ git unpack-objects
”仅根据接收和未包装的对象数显示进度,当必须处理异常大的对象时,进度会停滞。
现在它也显示了吞吐量。
见提交bae60ba(2019年11月19日)由SZEDER的Gabor( )szeder
。
(通过合并JUNIOÇ滨野- gitster
-在提交cf91c31,2019年12月5日)
builtin/unpack-objects.c
:显示吞吐量进度签名人:SZEDERGábor
“ git unpack-objects”显示了一条进度行,仅计算未打包对象的数量,因此,如果某些接收到的对象异常大,则在处理如此大的对象时,该进度可能似乎被冻结。
我只是盯着看似卡住的进度线超过半分钟,而“
git fetch
”正忙着收拾一个只有几个对象(即少于“fetch.unpackLimit
”)的包装,其中一个对象超过80 MB。在“
git unpack-objects
”进度行中显示吞吐量,因此即使在接收和处理大型对象时,我们仍显示出某些情况。计算消耗的字节数与计算对象并显示进度的位置相距甚远,要传递'
struct progress
'实例,我们将不得不修改五个函数及其14个调用站点的签名:这太过麻烦了,所以让我们而是将其设为文件范围静态。“
git index-pack
”,即“ ”的非拆包表亲git unpack-objects
已经在其进度行中包含了吞吐量,并且它也使用了文件范围静态的“struct progress
”实例。