在你决定克隆它之前,有没有办法看看GitHub上的Git存储库有多大?
这似乎是一个非常明显/基本的统计数据,但我根本找不到如何在GitHub上看到它。
在你决定克隆它之前,有没有办法看看GitHub上的Git存储库有多大?
这似乎是一个非常明显/基本的统计数据,但我根本找不到如何在GitHub上看到它。
当前回答
如果你已经安装了官方的GitHub CLI,你可以执行以下操作:
gh api repos/<org>/<repo> --jq '.size'
我想它的单位是kb。
其他回答
如果您使用谷歌Chrome浏览器,您可以安装GitHub存储库大小扩展。
回购地址:https://github.com/harshjv/github-repo-size
总结一下@larowlan、@VMTrooper和@vahid chakoshy解决方案:
#!/usr/bin/env bash
if [ "$#" -eq 2 ]; then
echo "$(echo "scale=2; $(curl https://api.github.com/repos/$1/$2 2>/dev/null \
| grep size | head -1 | tr -dc '[:digit:]') / 1024" | bc)MB"
elif [ "$#" -eq 3 ] && [ "$1" == "-z" ]; then
# For some reason Content-Length header is returned only on second try
curl -I https://codeload.github.com/$2/$3/zip/master &>/dev/null
echo "$(echo "scale=2; $(curl -I https://codeload.github.com/$2/$3/zip/master \
2>/dev/null | grep Content-Length | cut -d' ' -f2 | tr -d '\r') / 1024 / 1024" \
| bc)MB"
else
printf "Usage: $(basename $0) [-z] OWNER REPO\n\n"
printf "Get github repository size or, optionally [-z], the size of the zipped\n"
printf "master branch (`Download ZIP` link on repo page).\n"
exit 1
fi
你需要遵循GitHub API。有关存储库的所有详细信息,请参阅这里的文档。 它需要你做出一个GET请求,如:
获得/回购:所有者/:库
你需要替换两个东西:
:owner—存储库所有者的用户名 :repository—存储库名称
例如,我的用户名maheshmnj,我拥有一个存储库,flutter-ui-nice,所以我的GET URL将是:
https://api.github.com/repos/maheshmnj/flutter-ui-nice
在发出GET请求时,您将收到一些JSON数据,可能在第78行中您应该看到一个名为size的键,它将返回存储库的大小。
提示:当使用JSON时,我建议您添加一个插件来格式化JSON数据,使读取JSON变得容易。安装插件。
我创建了一个bookmarklet脚本来使用NVRM的答案的方法来做到这一点。
要使用它,请创建一个新书签,为其命名,并将此脚本粘贴到URL字段中。在浏览一个回购时点击这个书签会弹出一个提醒,提醒的大小有兆字节和千字节。
javascript:(()=>{let url=new URL(document.location.href);if(url.origin!="https://github.com"){return}if(url.pathname=="/"){return}let p=url.pathname.slice(1,url.pathname.length);let parts=p.split('/');if(parts.length<2){return}let x=[parts[0],parts[1]].join('/');fetch(`https://api.github.com/repos/${x}`).then(r=>r.json()).then((b)=>alert(`${(b['size']/1000).toFixed(2)}mb (${b['size']}kb)`))})()
@larowlan很棒的示例代码。在新的GitHub API V3中,curl语句需要更新。此外,不再需要登录:
curl https://api.github.com/repos/$2/$3 2> /dev/null | grep size | tr -dc '[:digit:]'
例如:
curl https://api.github.com/repos/dotnet/roslyn 2> /dev/null | grep size | tr -dc '[:digit:]'
返回931668 (KB),几乎是GB。
私有回购需要身份验证。一种方法是使用GitHub个人访问令牌:
curl -u myusername:$PERSONAL_ACCESS_TOKEN https://api.github.com/repos/$2/$3 2> /dev/null | grep size | tr -dc '[:digit:]'