]> git.ipfire.org Git - thirdparty/git.git/blame - Documentation/git-shortlog.txt
Merge branch 'ab/detox-gettext-tests'
[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]
933c758c 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
92338c45
JK
50--group=<type>::
51 Group commits based on `<type>`. If no `--group` option is
52 specified, the default is `author`. `<type>` is one of:
53+
63d24fa0 54--
92338c45
JK
55 - `author`, commits are grouped by author
56 - `committer`, commits are grouped by committer (the same as `-c`)
47beb37b
JK
57 - `trailer:<field>`, the `<field>` is interpreted as a case-insensitive
58 commit message trailer (see linkgit:git-interpret-trailers[1]). For
59 example, if your project uses `Reviewed-by` trailers, you might want
60 to see who has been reviewing with
61 `git shortlog -ns --group=trailer:reviewed-by`.
62+
63Note that commits that do not include the trailer will not be counted.
64Likewise, commits with multiple trailers (e.g., multiple signoffs) may
f17b0b99
JK
65be counted more than once (but only once per unique trailer value in
66that commit).
47beb37b 67+
56d5dde7
JK
68Shortlog will attempt to parse each trailer value as a `name <email>`
69identity. If successful, the mailmap is applied and the email is omitted
70unless the `--email` option is specified. If the value cannot be parsed
71as an identity, it will be taken literally and completely.
63d24fa0
JK
72--
73+
74If `--group` is specified multiple times, commits are counted under each
75value (but again, only once per unique value in that commit). For
76example, `git shortlog --group=author --group=trailer:co-authored-by`
77counts both authors and co-authors.
92338c45 78
03f40829
JK
79-c::
80--committer::
92338c45 81 This is an alias for `--group=committer`.
03f40829 82
55ef8a46
JH
83-w[<width>[,<indent1>[,<indent2>]]]::
84 Linewrap the output by wrapping each line at `width`. The first
85 line of each entry is indented by `indent1` spaces, and the second
86 and subsequent lines are indented by `indent2` spaces. `width`,
87 `indent1`, and `indent2` default to 76, 6 and 9 respectively.
0e82bd04
JK
88+
89If width is `0` (zero) then indent the lines of the output without wrapping
90them.
55ef8a46 91
46b2a46d
RR
92<revision range>::
93 Show only commits in the specified revision range. When no
94 <revision range> is specified, it defaults to `HEAD` (i.e. the
95 whole history leading to the current commit). `origin..HEAD`
96 specifies all the commits reachable from the current commit
97 (i.e. `HEAD`), but not from `origin`. For a complete list of
98 ways to spell <revision range>, see the "Specifying Ranges"
99 section of linkgit:gitrevisions[7].
100
933c758c 101[--] <path>...::
46b2a46d
RR
102 Consider only commits that are enough to explain how the files
103 that match the specified paths came to be.
104+
6955047f 105Paths may need to be prefixed with `--` to separate them from
46b2a46d 106options or the revision range, when confusion arises.
7d48e9e6 107
461caf3e
PY
108:git-shortlog: 1
109include::rev-list-options.txt[]
110
7d48e9e6
MSO
111MAPPING AUTHORS
112---------------
113
42957af0 114See linkgit:gitmailmap[5].
0925ce4d 115
a38cb987
JK
116Note that if `git shortlog` is run outside of a repository (to process
117log contents on standard input), it will look for a `.mailmap` file in
118the current directory.
119
3f971fc4
JH
120GIT
121---
9e1f0a85 122Part of the linkgit:git[1] suite