Oli*_*nde 21 git progress git-clone
做一个进度条有可能git clone吗?我想知道因为我目前正在做一个git克隆,到目前为止已经花了几分钟,并且很想知道它是否即将完成.
ara*_*nid 17
并不是的.有各种阶段git clone:
阶段1涉及遍历每个分支头的提交图,找到所有提交和相关对象:由于事先不知道有多少提交,因此无法测量其进度.遗憾的是,这通常是克隆操作中很多时间被占用的地方.
阶段2确实有一个进度计数器,虽然它计算对象而不是体积(所以它的速率变化,特别是如果repo有大的blob)
阶段3和阶段4具有进度计数器,尽管它们通常比前两个阶段快得多.
Sas*_*hev 15
你可以做:
du -s .git
Run Code Online (Sandbox Code Playgroud)
监控临时内容大小的变化以获得想法.
watch du -s .git
Run Code Online (Sandbox Code Playgroud)
允许您监视而无需重新键入命令.下面的单行内容会定期给出以每秒kB为单位的数据累积率:
delay=5; prev=`du -sk .git/ | cut -f 1`; sleep $delay; while true; do cur=`du -sk .git/ | cut -f 1`; expr \( $cur - $prev \) / $delay ; prev=$cur; sleep $delay; done
Run Code Online (Sandbox Code Playgroud)
我目前正在做一个git克隆,到目前为止已经花了几分钟,并且很想知道它是否即将完成.
使用Git 2.10(2016年第3季度),git clone --progress将会更加冗长.
请参阅Jeff King()提交的38e590e (由Junio C Hamano合并于2016年8月4日提交a58a8e3)peff
clone:使用真正的进度表进行连接检查因为克隆存储库的初始连接检查可能很慢,0781aa4(
clone:让用户知道何时check_everything_connected运行,2013-05-03)添加了"假"进度表; 我们只是简单地说"Checking connectivity"它开始时,"done"最后说什么都没有.由于
check_connected()现在知道如何做一个真正的进度表,我们可以放弃我们的假的,而是使用那个.