git config命令
git help命令
git init命令
git add命令
git clone命令
git status命令
git diff命令
git commit命令
git reset命令
git rm命令
git mv命令
git branch命令
git checkout命令
git merge命令
git mergetool命令
git log命令
git stash命令
git tag命令
git fetch命令
git pull命令
git push命令
git remote命令
git submodule命令
git show命令
git shortlog命令
git describe命令
git rebase命令
git shortlog命令
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
確實是這個開源項目的主要開發者。