git停留在Unpacking Objects阶段


77

我正在尝试git pull从github中的远程存储库到本地计算机中进行操作...但是git陷入了“解压缩对象”阶段的70%,没有任何进展的迹象。.(现在离开了几个小时保持不变)

关于如何解决此问题的任何建议?

是否可以指示git从远程存储库中仅下载最新的提交/版本,而没有所有中间状态?


即使您使用的是ssh,也请尝试stackoverflow.com/questions/6842687/…,以防万一。
VonC

主持人很可能挂断了电话,也许您可​​以尝试这样做git clone --depth 1。拥有良好的互联网连接非常有帮助,例如,以我的经验,在Rackspace服务器上克隆Github存储库的速度很快(因为您位于相同的基础架构中,并且github.com服务器可能在附近)。
errordeveloper 2012年

不要将二进制文件提交到git。Git仅用于版本控制。
格雷格

我删除存储库,然后再次克隆它。它帮助了我。
Gleb Belyaev

Answers:


56

当我在github.com上git pull一个仓库时,我遇到了同样的问题。我发现有一些大文件,与github的连接速度很慢。因此,也许您只需要耐心等待git提取整个存储库即可。


16
此评论+耐心帮助了我
Coty Embry,

+重试一遍直到带宽意外。(不,我仍然不后悔我的速度稍慢但未进行Con-cast的ISP选择...)
ijoseph

是的,这是因为某些文件的大小很大如果有人没有足够的耐心等待,下载回购的ZIP版本可能会有所帮助
程序员Dancuk

14

对我来说,解决方案是将协议说明符从https更改为git,例如:
git clone https://github.com/some/repository
to
git clone git://github.com/some/repository

编辑:
这是有关Git中使用的协议的一些信息
一些重点:
Git协议的缺点是缺少身份验证。
它还需要防火墙访问端口9418,这不是公司防火墙始终允许的标准端口。


我认为https不起作用,因为我位于防火墙后面。为什么git起作用,我不能说。
Al Lelopath

4

我发现大型二进制对象(如Adobe Illustrator文件等)也容易使整个拉/推过程陷入困境。

这就是为什么我现在喜欢在设计和代码中使用两个存储库。


第一次陷入解包对象阶段。然后我意识到在GitHub存储库中有两个pdf文件。我想知道...
Atlas7 2015年

0

[...]但是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”实例。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.