在你决定克隆它之前,有没有办法看看GitHub上的Git存储库有多大?

这似乎是一个非常明显/基本的统计数据,但我根本找不到如何在GitHub上看到它。


当前回答

对于私有存储库,您需要从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。

其他回答

如果您试图找出您自己的存储库的大小。

你所要做的就是去GitHub设置存储库,你可以在浏览器中看到所有的大小,不需要额外的工作。

https://github.com/settings/repositories

如果您拥有存储库,您可以通过打开帐户设置→存储库(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 /repos/:user/:repo 例如:https://api.github.com/repos/git/git

在检索关于存储库的信息时,一个名为size的属性的值是整个存储库的大小(包括它的所有历史),单位是千字节。

例如,Git存储库的重量约为124 MB。返回的JSON有效负载的size属性的值为124283。

更新

大小实际上是根据服务器端裸存储库的磁盘使用情况以千字节表示的。然而,为了避免在拥有大型网络的存储库上浪费太多空间,GitHub依赖于Git Alternates。在此配置中,根据裸存储库计算磁盘使用情况并不考虑共享对象存储,因此通过API调用返回“不完整”的值。

此信息由GitHub支持提供。

@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:]'

对于私有存储库,您需要从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。