2014-09-18 182 views
3

是否可以在GitHub上获取存储库中所有提交文件的数量?
我不使用Git,我只需要知道一些其他大型软件仓库的数量。
让我们举个例子JQueryGitHub存储库中的文件数

更新
有喜欢的文件:

  • .editorconfig
  • .gitattributes
  • ...

课程文件夹和如:

  • 构建
  • 外部
  • ...

甚至更​​多的文件。

我需要知道这些文件的总数。
而且,作为奖励,我想知道此存储库中存在的文件总数。

是否有可能在GitHub上找到这些数字?

+1

你究竟是什么意思?你想知道存储库中曾经存在的文件的数量吗? – Chris 2014-09-18 18:28:13

+0

是的,当前数字(更重要),如果可能的话,所有文件的数量,每一个都存在。 – user1170330 2014-09-18 18:29:31

+0

@ user1170330像Chris一样,我试图理解你的问题......请注意,Git不以常规意义存储文件。您是否熟悉[* blob *]的概念(http://git-scm.com/book/en/Git-Internals-Git-Objects)?你问一个存储库包含多少个blob? – Jubobs 2014-09-18 18:30:51

回答

0

你如何做一个(浅)克隆的存储库,并在本地计数?

我不知道任何github web gui工具向您显示此信息。

另外:获取有史以来存在的文件总数将会很困难,因为许多删除或重命名或任何可能或可能不会计算出您需要此统计量的任何内容。

2

我同意@rubenvb,你将不得不克隆回购并在本地进行计数。我不知道哪个工具可以获得每个修订版本的文件数量,所以您将不得不推出自己的版本。

要获得当前签出提交的计数,您可以运行git ls-files | wc -l,这将为您提交该提交的回购的总数。

为了获得最新的计数,您需要遍历所有可以从第一次提交到达的提交,每次运行该命令。您可以尝试每次将git ls-files的输出推送到数组中,并在循环所有提交时保持“全局”数组。 (这可能需要一些时间来处理像jQuery这样的大回购。)然后你可以计算数组的大小。

尽管如此,这个数字将会非常主观取决于您决定要计算的数量。你应该计算一个文件在一个提交中从一个目录移动到另一个目录吗? (在我刚才概述的方法中,它将被计算为两个不同的文件。)您是否计算了尚未合并到master的分支,还是仅计算了当前master分支的HEAD可达到的任何提交?这取决于你。