在执行git clone
时是否可以获得进度条?我想知道因为我目前正在做一个git克隆,到目前为止已经花了几分钟,并且很想知道它是否即将完成。
答案 0 :(得分:16)
不是真的。 git clone
有各种各样的阶段:
第1阶段涉及从每个分支头部遍历提交图,查找所有提交和关联对象:由于事先不知道有多少提交,因此无法对其进度进行测量。遗憾的是,这通常是克隆操作中很多时候被占用的地方。
阶段2确实有一个进度计数器,虽然它计算对象而不是数量(因此它的速率会有所不同,特别是如果repo有大的blob)
第3和第4阶段有进度计数器,尽管它们通常比前两个阶段快得多。
答案 1 :(得分:14)
你可以这样做:
du -s .git
监控临时内容大小的变化以获得想法。
watch du -s .git
允许您监视而无需重新键入命令。下面的单行内容会定期给出以每秒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
答案 2 :(得分:6)
我目前正在做一个git克隆,到目前为止已经花了几分钟,并且很想知道它是否即将完成。
使用Git 2.10(2016年第3季度),git clone --progress
将更加详细。
请参阅杰夫金的commit 38e590e(peff
)
(Junio C Hamano于2016年8月4日commit a58a8e3合并)
clone
:使用真实的进度表进行连接检查因为克隆的初始连接检查 存储库可能很慢,0781aa4 (
clone
: let the user know whencheck_everything_connected
is run, 2013-05-03)添加了一个 “假”进度表;我们只是说“Checking connectivity
” 当它开始时,最后是“done
”,之间没有任何内容。因为
check_connected()
现在知道如何取得真正的进步 米,我们可以放弃我们假的那个而不是那个。
答案 3 :(得分:2)
您可能需要查看文件夹
$project/.git/objects/pack
克隆时,应该有一个以tmp_pack_
开头的文件。它包含当前正在下载的git包。
通过这些信息,您可以了解持续时间。
答案 4 :(得分:-1)
git clone --progress
怎么样?