是否可以远程计算git存储库的对象和大小?

dfe*_*ens 42 git size repository

假设Web中的某个地方存在公共git存储库.我想要克隆它,但首先我需要确定它的大小(有多少对象和kbytes git count-objects)

有办法吗?

Cas*_*bel 20

您可以使用的一小块kludge如下:

mkdir repo-name
cd repo-name
git init
git remote add origin <URL of remote>
git fetch origin
Run Code Online (Sandbox Code Playgroud)

git fetch 按以下方式显示反馈:

remote: Counting objects: 95815, done.
remote: Compressing objects: 100% (25006/25006), done.
remote: Total 95815 (delta 69568), reused 95445 (delta 69317)
Receiving objects: 100% (95815/95815), 18.48 MiB | 16.84 MiB/s, done.
...
Run Code Online (Sandbox Code Playgroud)

远程端的步骤通常发生得非常快; 这是接收步骤,可能很耗时.它实际上并没有显示总大小,但你肯定可以观看它一秒钟,如果你看到"1%...... 23.75 GiB",你知道你遇到了麻烦,你可以取消它.

  • 你确定这是有效的吗?我认为百分比表示收到的对象数量而不是数据大小. (6认同)
  • 如果你想走这条路,你可以运行`git fetch --dry-run`然后你就不用担心在数据传输之前取消了.但你是对的,这是一个不完美的kludge. (2认同)

ken*_*ken 17

对于github存储库,它现在提供API来检查文件大小.有用!

这个链接:在克隆之前看到一个大小的回购 - 它给出了答案

命令:(来自@VMTrooper)

curl https://api.github.com/repos/$2/$3 | grep size
Run Code Online (Sandbox Code Playgroud)

例:

curl https://api.github.com/repos/Marijnh/CodeMirror | grep size
 % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                Dload  Upload   Total   Spent    Left  Speed
100  5005  100  5005    0     0   2656      0  0:00:01  0:00:01 --:--:--  2779
"size": 28589,
Run Code Online (Sandbox Code Playgroud)


Big*_*ave 5

不提供对象计数,但是如果您使用Google Chrome浏览器并安装此扩展程序

它将回购大小添加到主页:

GitHub Repo Size扩展截图