?
This document uses PHP Chinese website manual Release
git-shortlog - 總結(jié)git log
輸出
git log --pretty=short | git shortlog [<options>]git shortlog [<options>] [<revision range>] [[\--] <path>…]
以適合納入發(fā)布公告的格式匯總git log
輸出。每個提交將按作者和標(biāo)題進(jìn)行分組。
此外,“提交”將從提交說明中刪除。
如果在命令行上沒有傳遞修訂,并且標(biāo)準(zhǔn)輸入不是終端或沒有當(dāng)前分支,git shortlog
則會輸出從標(biāo)準(zhǔn)輸入中讀取的日志的摘要,而不參考當(dāng)前的存儲庫。
-n --numbered
根據(jù)每個作者的提交數(shù)量而不是作者字母順序?qū)敵鲞M(jìn)行排序。
-s --summary
禁止提交描述并僅提供提交計(jì)數(shù)摘要。
-e --email
顯示每位作者的電子郵件地址。
--format=<format>
使用一些其他信息來描述每個提交,而不是提交主題。<format>
可以是由--format
選項(xiàng)接受的任何字符串git log
,例如* [%h] %s
。(請參閱 git-log [1]的“PRETTY FORMATS”部分。)
Each pretty-printed commit will be rewrapped before it is shown.
-c --committer
收集并顯示提交者身份而不是作者。
-w[<width>[,<indent1>,<indent2>]]
通過包裝每行的輸入線來包裝輸出width
。每個條目的第一行由indent1
空格縮進(jìn),第二行和后續(xù)行由indent2
空格縮進(jìn)。width
,indent1
和indent2
分別默認(rèn)為76,6和9。
如果寬度為0
(零),則縮進(jìn)輸出的行而不包裝它們。
<revision range>
僅顯示指定修訂范圍內(nèi)的提交。當(dāng)沒有指定<revision range>時,它默認(rèn)為HEAD
(即導(dǎo)致當(dāng)前提交的整個歷史記錄)。origin..HEAD
指定從當(dāng)前提交(ie HEAD
)可訪問的所有提交,但不提供origin
。有關(guān)拼寫<修訂范圍>的完整方法列表,請參閱 gitrevisions [7]的“指定范圍”部分。
-- <path>…
只考慮足以解釋如何匹配指定路徑的文件的提交。
當(dāng)出現(xiàn)混淆時,路徑可能需要以“ - ”作為前綴以將它們與選項(xiàng)或修訂范圍分開。
.mailmap
功能用于合并短日志中同一個人的提交,其姓名和/或電子郵件地址拼寫有所不同。
如果文件.mailmap
存在于版本庫的頂層,或者位于 mailmap.file 或 mailmap.blob 配置選項(xiàng)指向的位置,則它用于將作者和提交者名稱以及電子郵件地址映射到規(guī)范的實(shí)名和電子郵件地址。
在簡單的形式中,文件中的每一行由作者的標(biāo)準(zhǔn)真實(shí)姓名,空格以及在提交中使用的電子郵件地址(用<
and 括起來>
)映射到名稱。例如:
Proper Name <commit@email.xx>
更復(fù)雜的形式是:
<proper@email.xx> <commit@email.xx>
它允許 mailmap 只替換提交的電子郵件部分,并且:
Proper Name <proper@email.xx> <commit@email.xx>
它允許 mailmap 替換與指定的提交電子郵件地址匹配的提交的名稱和電子郵件,以及:
Proper Name <proper@email.xx> Commit Name <commit@email.xx>
它允許 mailmap 替換與指定的提交名稱和電子郵件地址相匹配的提交的名稱和電子郵件。
示例1:您的歷史記錄包含兩位作者 Jane 和 Joe 的提交,他們的名字以幾種形式出現(xiàn)在存儲庫中:
Joe Developer <joe@example.com>Joe R. Developer <joe@example.com>Jane Doe <jane@example.com>Jane Doe <jane@laptop.(none)>Jane D. <jane@desktop.(none)>
現(xiàn)在假設(shè)喬想讓他的中間名得到最初的使用,而珍則更喜歡將她的姓氏完整地拼出來。一個合適的.mailmap
文件應(yīng)該是這樣的:
Jane Doe <jane@desktop.(none)>Joe R. Developer <joe@example.com>
注意如何不需要輸入<jane@laptop.(none)>
,因?yàn)樵撟髡叩恼鎸?shí)姓名已經(jīng)是正確的。
示例2:您的存儲庫包含以下作者的提交:
nick1 <bugs@company.xx>nick2 <bugs@company.xx>nick2 <nick2@company.xx>santa <me@company.xx>claus <me@company.xx>CTO <cto@coompany.xx>
那么你可能需要一個如下所示的.mailmap
文件:
<cto@company.xx> <cto@coompany.xx>Some Dude <some@dude.xx> nick1 <bugs@company.xx>Other Author <other@author.xx> nick2 <bugs@company.xx>Other Author <other@author.xx> <nick2@company.xx>Santa Claus <santa.claus@northpole.xx> <me@company.xx>
將散列#
用于自己的行中或電子郵件地址之后的注釋。