如何獲得我的Git倉庫的某種統計信息?掃描Git倉庫的統計信息
我目前託管在到位桶的Git倉庫,並希望能找到以下細節:
- 總數提交
- 使用的編程語言的代碼
- 線共對每種編程語言
你認爲這是可以實現的嗎?或者我要求太多。 可能有一個我不知道的聰明工具。
同樣使用SourceTree推拉代碼,如果有幫助。
預先感謝您。
如何獲得我的Git倉庫的某種統計信息?掃描Git倉庫的統計信息
我目前託管在到位桶的Git倉庫,並希望能找到以下細節:
你認爲這是可以實現的嗎?或者我要求太多。 可能有一個我不知道的聰明工具。
同樣使用SourceTree推拉代碼,如果有幫助。
預先感謝您。
號我會建議這兩個
git rev-list --count origin/master
一個只是主分支git rev-list --all --count
所有分支機構正如有人所說,git log --oneline | wc -l
會給你提交的數量,除了那個只針對當前分支。要使用git log --oneline
,您需要爲所有分支機構獲取所有分支機構的提交總數。你不能迭代,因爲許多提交將被多次計數,所以你必須全部掌握(或者可能是參考)並且生成一個表達式來完成所有這些提交。
使用cloc工具得到了這一切。
的總行數非常感謝。我會試試這個。提交的次數已經有用,希望其他鏈接能夠完成我所追求的目標。謝謝 – Jordan
總數的提交
容易。 git rev-list --count master
。顯然,你可以在其他分支中計數提交。
編程語言
你不能說肯定的數量,但是你可以通過分組和擴展名的文件計數大致數都數。但是,*.h
文件用於C,C++和Objective-C(對於最後一個不確定)。 Quick googling:
find . -type f -printf "%f\n" | grep -io '\.[^.]*$' | sort | uniq -c | sort -rn
24 .kt
20 .java
12 .gradle
9 .sample
8 .properties
7 .xml
7 .jar
6 .bat
4 .yml
3 .sql
3 .md
3 .gitignore
1 .yaml
1 .xz
1 .scala
1 .PKGINFO
1 .pack
1 .MTREE
1 .idx
1 .go
那麼,正如你所看到的那樣,肯定有Kotlin,Java和Scala在這裏。另外,一個Go文件。其他文件只是垃圾。每個編程語言代碼
線
擴展前面的一行代碼:
find . -type f -printf "%f\n" | grep -io '\.[^.]*$' | sort | uniq | xargs printf "*%s\n" $1 | xargs -i sh -c 'echo "{}: $(find . -name "{}" -print0 | xargs -0 cat | wc -l)"'
*.yml: 64
*.yaml: 44
*.xz: 1568
*.xml: 121
*.sql: 38
*.scala: 36
*.sample: 496
*.properties: 43
*.PKGINFO: 23
*.pack: 14416
*.MTREE: 3
*.md: 12
*.kt: 388
*.java: 489
*.jar: 16064
*.idx: 34
*.gradle: 126
*.go: 9
*.gitignore: 11
*.bat: 540
好吧,我不建議你使用bash oneliners,因爲他們是完全不可讀。
你使用源碼樹嗎? – Fil
@Fil是我推送我的代碼使用SourceTree – Jordan
git log --oneline --all | wc -l會顯示提交數量,但是,另外兩個,我不確定是否可能 – Fil