我正在尝试从github中的远程存储库到本地机器上做一个git pull...但是git在“解包对象”阶段停留了70%,没有任何进展的迹象。(现在已经放了几个小时了,没有变化)对于如何解决这个问题有什么建议吗?是否可以指示git只从远程仓库下载最新的commit/version,而不使用所有的Intermediate状态?
git pull
xkftehaa1#
我发现大的二进制对象(如Adobe Illustrator文件等)也会使整个拉/推过程陷入困境。这就是为什么我现在喜欢使用两个存储库来进行设计和代码
krcsximq2#
[...]但是git在“Unpacking objects”阶段停留了70%,没有任何进展的迹象在Git 2.25(2020年第一季度)中,“git unpack-objects”用于仅基于接收和解包对象的数量显示进度,当它必须处理异常大的对象时,它会停止。
Unpacking objects
git unpack-objects
现在还显示吞吐量。
参见commit bae60ba(2019年11月19日),作者SZEDER Gábor ( szeder )。(由Junio C Hamano -- gitster --合并至commit cf91c31,2019年12月5日)
szeder
gitster
builtin/unpack-objects.c
签收人:SZEDER Gábor'git unpack-objects'显示一个进度行,只计算解包对象的数量,所以如果接收到的一些对象异常大,那么在处理这样一个较大的对象时,该进度可能会被冻结。我只是盯着一个看似卡住的进度线看了半分钟多,而“git fetch”正忙碌接收一个只有几个对象的包(即“git fetch”)。小于'fetch.unpackLimit'),其中一个超过80 MB。
git fetch
fetch.unpackLimit
在'git unpack-objects'进度行中显示吞吐量,这样即使在接收和处理大型对象时,我们也会显示正在发生的事情。
计算消耗的字节数与计算对象数和显示进度的位置相距甚远,为了传递'struct progress'示例,我们必须修改5个函数的签名和14个调用点:这是太多的变动,所以让我们宁愿让它成为文件范围的静态。'git index-pack',即'git unpack-objects'的非解包表兄弟已经在其进度行中包括吞吐量,并且它还使用文件范围的静态'struct progress'示例。
struct progress
git index-pack
e3bfsja23#
如果你和我一样,在尝试用git lfs克隆一个仓库时,使用git lfs clone而不是git clone对我来说是有效的。
git lfs
git lfs clone
git clone
ecbunoof4#
当我在github.com上用git拉取一个仓库时,我也遇到了同样的问题。我发现有一些大文件,连接到github很慢。所以也许你只需要耐心等待git拉取整个仓库。
w1e3prcc5#
对我来说,解决方案是将protocol specifier从https改为git,例如:第一个月至git clone git://github.com/some/repository个编辑:Here's something about the protocols used in Git的数据。一些亮点:Git协议的缺点是缺乏身份验证。它还需要防火墙访问端口9418,这不是公司防火墙始终允许的标准端口
git clone git://github.com/some/repository
mcdcgff06#
你可能需要做一些清理:
git fsck && git gc --prune=now
字符串
6条答案
按热度按时间xkftehaa1#
我发现大的二进制对象(如Adobe Illustrator文件等)也会使整个拉/推过程陷入困境。
这就是为什么我现在喜欢使用两个存储库来进行设计和代码
krcsximq2#
[...]但是git在“
Unpacking objects
”阶段停留了70%,没有任何进展的迹象在Git 2.25(2020年第一季度)中,“
git unpack-objects
”用于仅基于接收和解包对象的数量显示进度,当它必须处理异常大的对象时,它会停止。现在还显示吞吐量。
参见commit bae60ba(2019年11月19日),作者SZEDER Gábor (
szeder
)。(由Junio C Hamano --
gitster
--合并至commit cf91c31,2019年12月5日)builtin/unpack-objects.c
:我的天啊显示吞吐量进度签收人:SZEDER Gábor
'git unpack-objects'显示一个进度行,只计算解包对象的数量,所以如果接收到的一些对象异常大,那么在处理这样一个较大的对象时,该进度可能会被冻结。
我只是盯着一个看似卡住的进度线看了半分钟多,而“
git fetch
”正忙碌接收一个只有几个对象的包(即“git fetch
”)。小于'fetch.unpackLimit
'),其中一个超过80 MB。在'
git unpack-objects
'进度行中显示吞吐量,这样即使在接收和处理大型对象时,我们也会显示正在发生的事情。计算消耗的字节数与计算对象数和显示进度的位置相距甚远,为了传递'
struct progress
'示例,我们必须修改5个函数的签名和14个调用点:这是太多的变动,所以让我们宁愿让它成为文件范围的静态。'
git index-pack
',即'git unpack-objects
'的非解包表兄弟已经在其进度行中包括吞吐量,并且它还使用文件范围的静态'struct progress
'示例。e3bfsja23#
如果你和我一样,在尝试用
git lfs
克隆一个仓库时,使用git lfs clone
而不是git clone
对我来说是有效的。ecbunoof4#
当我在github.com上用git拉取一个仓库时,我也遇到了同样的问题。我发现有一些大文件,连接到github很慢。所以也许你只需要耐心等待git拉取整个仓库。
w1e3prcc5#
对我来说,解决方案是将protocol specifier从https改为git,例如:
第一个月
至
git clone git://github.com/some/repository
个编辑:
Here's something about the protocols used in Git的数据。
一些亮点:
Git协议的缺点是缺乏身份验证。
它还需要防火墙访问端口9418,这不是公司防火墙始终允许的标准端口
mcdcgff06#
你可能需要做一些清理:
字符串