快速获取github仓库的大小(kb)?

Posted

技术标签:

【中文标题】快速获取github仓库的大小(kb)?【英文标题】:Quickly get the size (kb) of github repository? 【发布时间】:2020-08-16 20:16:13 【问题描述】:

是否有一种简单的方法可以获取公共或私有 github 存储库的大小?

我尝试了this 方法,该方法似乎适用于公共存储库(返回"size": 2994520):

echo https://github.com/torvalds/linux.git | perl -ne 'print $1 if m!([^/]+/[^/]+?)(?:\.git)?$!' | xargs -I curl -s -k https://api.github.com/repos/'' | grep size

但似乎不适用于私有存储库(它返回消息“未找到”)

是否有某种方式(通过 API、浏览器或 bash 脚本)可以检索 github 存储库的大小(与本地 git 存储库不同)?

注意:重要的是该解决方案适用于用户有权访问的私有存储库(不仅仅是公共存储库)

【问题讨论】:

同样的方法应该适用于私有存储库。你只需要在使用 github api 时进行身份验证。 @Philippe 如果我从 mac 终端使用 git(例如从 github 推送和拉取 repos),这是否意味着我已经通过 github API 的身份验证,或者是单独的身份验证过程? @stevec 在调用 Github API 的命令链中是 curl。对于私有存储库,您可以传递个人访问令牌或用户名 + 密码进行身份验证。见developer.github.com/v3/#authentication。 【参考方案1】:

你需要传递一个 PAT(个人访问令牌)来 curl。这将验证您作为 github 用户的身份,从而使您可以访问您的私人存储库。

您可以按照此处的说明创建 PAT Creating a Personal Access Token

然后运行

echo https://github.com/torvalds/linux.git | perl -ne 'print $1 if m!([^/]+/[^/]+?)(?:\.git)?$!' | xargs -I curl -s -k -u <username> https://api.github.com/repos/'' | grep size

并在被要求时提供您之前创建的令牌。 请务必在命令中替换您的用户名

也可以直接在命令中传入token

echo https://github.com/torvalds/linux.git | perl -ne 'print $1 if m!([^/]+/[^/]+?)(?:\.git)?$!' | xargs -I curl -s -k -u <username>:<token>  https://api.github.com/repos/'' | grep size

【讨论】:

以上是关于快速获取github仓库的大小(kb)?的主要内容,如果未能解决你的问题,请参考以下文章

Git&Github(上)

[github搜索技巧]快速找到优秀的Code

本地项目上传到Github

github怎么跟androidstudio结合起来

mac版github大小写

浅谈Swift如何快速获取Web页面中图片资源的大小