You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何查看pod update或git clone的百分比进度?

如何查看pod update中Git克隆的精确进度?

我完全懂这种卡在git clone环节却看不到进度的焦虑!下面分两种场景给你解决方案:

一、针对pod update的Git下载进度优化

1. 让Git默认显示克隆进度

Pod底层是直接调用Git命令的,你可以全局配置Git,让所有克隆操作默认输出进度信息:

git config --global progress true

配置完成后,再执行pod update MyPod --verbose,Git克隆环节就会输出类似这样的进度:

Cloning into '/var/folders/kj/55ym60x155dctzvc8pvym10r0000gn/T/d20210830-13232-1gq5j6e'...
remote: Enumerating objects: 8500, done.
remote: Counting objects: 100% (8500/8500), done.
remote: Compressing objects: 100% (6200/6200), done.
Receiving objects:  67% (5695/8500), 18.2 MiB | 4.5 MiB/s

这样就能实时看到接收对象的百分比和传输速度了。

2. 手动克隆本地仓库,跳过远程克隆

如果不想等远程克隆,你可以先手动把私有仓库克隆到本地(这里能看到完整进度),然后让Pod直接使用本地版本:

# 手动克隆,--progress强制显示进度
git clone --progress git@MyGithubUrl:xxx/MyPod.git -b MyBranch ~/LocalMyPod

然后修改你的Podfile,把远程引用改成本地路径:

# 原来的配置
# pod 'MyPod', :git => 'MyGithubUrl', :branch => 'MyBranch'
# 修改为本地路径
pod 'MyPod', :path => '~/LocalMyPod'

之后执行pod update MyPod --verbose就会直接使用本地仓库,不用再远程克隆,速度会快很多。

二、通用Git克隆进度查看方法

1. 直接使用--progress参数

不管是单独执行Git克隆还是其他工具调用,只要给git clone加上--progress参数,就能看到实时进度:

git clone --progress git@MyGithubUrl:xxx/MyPod.git -b MyBranch

2. 监控正在进行的克隆(应急方案)

如果克隆已经开始却没开进度显示,你可以在macOS的终端里,进入临时克隆目录的.git/objects/pack文件夹,查看正在下载的pack-*.pack文件大小,对比远程仓库的总大小来估算进度。比如:

# 查看当前下载的包大小
ls -lh /var/folders/kj/55ym60x155dctzvc8pvym10r0000gn/T/d20210830-13232-1gq5j6e/.git/objects/pack/

不过这种方法比较麻烦,还是提前开--progress更省心。

3. 用GIT_TRACE追踪Git操作

如果想看到更详细的Git传输细节,可以在执行pod update时加上GIT_TRACE=1环境变量:

GIT_TRACE=1 pod update MyPod --verbose

这会输出Git每一步的操作日志,包括数据传输的字节数,也能间接判断进度。

内容的提问来源于stack exchange,提问作者olha

火山引擎 最新活动