git shortlog
命令用於匯總git紀錄檔輸出。
使用語法
git log --pretty=short | git shortlog [<options>]
git shortlog [<options>] [<revision range>] [[\--] <path>…?]
適當包含在發布公告中的格式匯總git紀錄檔輸出。每個提交將按作者和標題分組。
另外,「[PATCH]
」將從提交描述中刪除。
如果在命令列上沒有傳遞修訂版本,並且標準輸入不是終端或沒有當前的分支,則git shortlog
將輸出從標準輸入讀取的紀錄檔的摘要,而不參照當前儲存庫。
一個開發小組有10個程式員,他們用 Git 做版本控制,某一天程式員A push了當天的幾個commit之後,突然在想「我在這個專案到底一共進行過多少次commit?誰比我commit更多?多多少?誰是組裡面進行最多 commit的?誰是最少的?」
Git 非常人性化地支援這樣一個命令:
$ git shortlog
這個命令會返回這個 git repository 底下每個使用者進行 commit 的次數,以及每次 commit 的註釋。
-s
引數省略每次 commit 的註釋,僅僅返回一個簡單的統計。-n
引數按照 commit 數量從多到少的順利對使用者進行排序
以下是一些範例 -
$ git shortlog -s -n
135 Tom Preston-Werner
15 Jack Danger Canty
10 Chris Van Pelt
7 Mark Reid
6 remi
3 Mikael Lind
3 Toby DiPasquale
2 Aristotle Pagaltzis
2 Basil Shkara
2 John Reilly
2 PJ Hyett
1 Marc Chung
1 Nick Gerakines
1 Nick Quaranto
1 Tom Kirchner
比如想要知道一個開源專案(例如 Graphiti )的 commit 統計
$ git shortlog -s -n
16 maxsu
5 your_name
2 minsu
1 Maxsu
上面的結果表明, maxsu
確實是這個開源專案的主要開發者。