2014-09-18 225 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可達到的任何提交?這取決於你。