]> git.ipfire.org Git - thirdparty/git.git/blame - Documentation/git-shortlog.txt
The sixth batch
[thirdparty/git.git] / Documentation / git-shortlog.txt
CommitLineData
3f971fc4
JH
1git-shortlog(1)
2===============
3f971fc4
JH
3
4NAME
5----
0b444cdb 6git-shortlog - Summarize 'git log' output
3f971fc4 7
3f971fc4
JH
8SYNOPSIS
9--------
0ad64fd0 10[verse]
133db54d 11'git shortlog' [<options>] [<revision-range>] [[--] <path>...]
a8210328 12git log --pretty=short | 'git shortlog' [<options>]
3f971fc4
JH
13
14DESCRIPTION
15-----------
0b444cdb 16Summarizes 'git log' output in a format suitable for inclusion
52ffe995 17in release announcements. Each commit will be grouped by author and title.
74237d62
JF
18
19Additionally, "[PATCH]" will be stripped from the commit description.
20
02646fe5
JN
21If no revisions are passed on the command line and either standard input
22is not a terminal or there is no current branch, 'git shortlog' will
23output a summary of the log read from standard input, without
24reference to the current repository.
25
4e27fb06
NP
26OPTIONS
27-------
28
3240240f
SB
29-n::
30--numbered::
4e27fb06
NP
31 Sort output according to the number of commits per author instead
32 of author alphabetic order.
33
3240240f
SB
34-s::
35--summary::
23bfbb81 36 Suppress commit description and provide a commit count summary only.
4e27fb06 37
3240240f
SB
38-e::
39--email::
6508bb75
JK
40 Show the email address of each author.
41
efc39d6d 42--format[=<format>]::
60037249
JN
43 Instead of the commit subject, use some other information to
44 describe each commit. '<format>' can be any string accepted
6cf378f0 45 by the `--format` option of 'git log', such as '* [%h] %s'.
60037249
JN
46 (See the "PRETTY FORMATS" section of linkgit:git-log[1].)
47
48 Each pretty-printed commit will be rewrapped before it is shown.
49
251554c2
JK
50--date=<format>::
51 Show dates formatted according to the given date string. (See
52 the `--date` option in the "Commit Formatting" section of
3dc95e09 53 linkgit:git-log[1]). Useful with `--group=format:<format>`.
251554c2 54
92338c45
JK
55--group=<type>::
56 Group commits based on `<type>`. If no `--group` option is
57 specified, the default is `author`. `<type>` is one of:
58+
63d24fa0 59--
92338c45
JK
60 - `author`, commits are grouped by author
61 - `committer`, commits are grouped by committer (the same as `-c`)
47beb37b
JK
62 - `trailer:<field>`, the `<field>` is interpreted as a case-insensitive
63 commit message trailer (see linkgit:git-interpret-trailers[1]). For
64 example, if your project uses `Reviewed-by` trailers, you might want
65 to see who has been reviewing with
66 `git shortlog -ns --group=trailer:reviewed-by`.
3dc95e09
TB
67 - `format:<format>`, any string accepted by the `--format` option of
68 'git log'. (See the "PRETTY FORMATS" section of
69 linkgit:git-log[1].)
47beb37b
JK
70+
71Note that commits that do not include the trailer will not be counted.
72Likewise, commits with multiple trailers (e.g., multiple signoffs) may
f17b0b99
JK
73be counted more than once (but only once per unique trailer value in
74that commit).
47beb37b 75+
56d5dde7
JK
76Shortlog will attempt to parse each trailer value as a `name <email>`
77identity. If successful, the mailmap is applied and the email is omitted
78unless the `--email` option is specified. If the value cannot be parsed
79as an identity, it will be taken literally and completely.
63d24fa0
JK
80--
81+
82If `--group` is specified multiple times, commits are counted under each
83value (but again, only once per unique value in that commit). For
84example, `git shortlog --group=author --group=trailer:co-authored-by`
85counts both authors and co-authors.
92338c45 86
03f40829
JK
87-c::
88--committer::
92338c45 89 This is an alias for `--group=committer`.
03f40829 90
55ef8a46
JH
91-w[<width>[,<indent1>[,<indent2>]]]::
92 Linewrap the output by wrapping each line at `width`. The first
93 line of each entry is indented by `indent1` spaces, and the second
94 and subsequent lines are indented by `indent2` spaces. `width`,
95 `indent1`, and `indent2` default to 76, 6 and 9 respectively.
0e82bd04
JK
96+
97If width is `0` (zero) then indent the lines of the output without wrapping
98them.
55ef8a46 99
133db54d 100<revision-range>::
46b2a46d 101 Show only commits in the specified revision range. When no
133db54d 102 <revision-range> is specified, it defaults to `HEAD` (i.e. the
46b2a46d
RR
103 whole history leading to the current commit). `origin..HEAD`
104 specifies all the commits reachable from the current commit
105 (i.e. `HEAD`), but not from `origin`. For a complete list of
133db54d 106 ways to spell <revision-range>, see the "Specifying Ranges"
46b2a46d
RR
107 section of linkgit:gitrevisions[7].
108
933c758c 109[--] <path>...::
46b2a46d
RR
110 Consider only commits that are enough to explain how the files
111 that match the specified paths came to be.
112+
6955047f 113Paths may need to be prefixed with `--` to separate them from
46b2a46d 114options or the revision range, when confusion arises.
7d48e9e6 115
461caf3e
PY
116:git-shortlog: 1
117include::rev-list-options.txt[]
118
7d48e9e6
MSO
119MAPPING AUTHORS
120---------------
121
42957af0 122See linkgit:gitmailmap[5].
0925ce4d 123
a38cb987
JK
124Note that if `git shortlog` is run outside of a repository (to process
125log contents on standard input), it will look for a `.mailmap` file in
126the current directory.
127
3f971fc4
JH
128GIT
129---
9e1f0a85 130Part of the linkgit:git[1] suite