在你决定克隆它之前,有没有办法看看GitHub上的Git存储库有多大?
这似乎是一个非常明显/基本的统计数据,但我根本找不到如何在GitHub上看到它。
在你决定克隆它之前,有没有办法看看GitHub上的Git存储库有多大?
这似乎是一个非常明显/基本的统计数据,但我根本找不到如何在GitHub上看到它。
当前回答
你需要遵循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变得容易。安装插件。
其他回答
如果您拥有存储库,您可以通过打开帐户设置→存储库(https://github.com/settings/repositories)找到确切的大小,存储库的大小显示在其名称旁边。
如果您不拥有存储库,则可以对其进行分叉,然后在同一位置检查。
注意:您可能是拥有多个存储库的组织的所有者,但在组织内的特定存储库中没有角色。默认情况下,即使您在自己拥有的组织中创建了存储库,也不会添加到repo,因此在设置/存储库中看不到该repo。所以把自己添加到存储库设置(https://github.com/org-name/repo-name/settings)中,在https://github.com/settings/repositories中看到它
有点hack:使用下载压缩文件选项,读取文件大小指示,然后取消它。
我不记得以zip格式下载是否有效,但无论如何,现在这样做只下载当前选择的没有历史记录的分支。
你需要遵循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变得容易。安装插件。
对于私有存储库,您需要从https://github.com/settings/tokens获取个人访问令牌。
然后使用以下curl命令获取详细信息(用值替换[token], [owner]和[name]):
curl -u git:[token] https://api.github.com/repos/[owner]/[name] 2> /dev/null | grep size
如前所述,大小的单位可以是MB或KB。
使用curl (sudo apt-get curl)和jsonpretty (sudo gem install jsonpretty json)来做到这一点:
curl -u "YOURGITHUBUSERNAME" http://github.com/api/v2/json/repos/show/OWNER/REPOSITORY |
jsonpretty
用你的GitHub用户名替换YOURGITHUBUSERNAME。
将OWNER替换为存储库所有者的Git用户名。 将REPOSITORY替换为存储库名称。
或者作为一个漂亮的Bash脚本(粘贴到一个名为gitrepo-info的文件中):
#!/bin/bash
if [ $# -ne 3 ]
then
echo "Usage: gitrepo-info <username> <owner> <repo>"
exit 65
fi
curl -u "$1" http://github.com/api/v2/json/repos/show/$2/$3|jsonpretty
像这样使用它:
gitrepo-info larowlan pisi reel
这将给我关于GitHub上的pisi/reel存储库的信息。
你可以使用Github API
下面是Python示例:
import requests
if __name__ == '__main__':
base_api_url = 'https://api.github.com/repos'
git_repository_url = 'https://github.com/garysieling/wikipedia-categorization.git'
github_username, repository_name = git_repository_url[:-4].split('/')[-2:] # garysieling and wikipedia-categorization
res = requests.get(f'{base_api_url}/{github_username}/{repository_name}')
repository_size = res.json().get('size')
print(repository_size)