Git fork
1git-shortlog(1)
2===============
3
4NAME
5----
6git-shortlog - Summarize 'git log' output
7
8SYNOPSIS
9--------
10[verse]
11'git shortlog' [<options>] [<revision-range>] [[--] <path>...]
12git log --pretty=short | 'git shortlog' [<options>]
13
14DESCRIPTION
15-----------
16Summarizes 'git log' output in a format suitable for inclusion
17in release announcements. Each commit will be grouped by author and title.
18
19Additionally, "[PATCH]" will be stripped from the commit description.
20
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
26OPTIONS
27-------
28
29-n::
30--numbered::
31 Sort output according to the number of commits per author instead
32 of author alphabetic order.
33
34-s::
35--summary::
36 Suppress commit description and provide a commit count summary only.
37
38-e::
39--email::
40 Show the email address of each author.
41
42--format[=<format>]::
43 Instead of the commit subject, use some other information to
44 describe each commit. '<format>' can be any string accepted
45 by the `--format` option of 'git log', such as '* [%h] %s'.
46 (See the "PRETTY FORMATS" section of linkgit:git-log[1].)
47+
48Each pretty-printed commit will be rewrapped before it is shown.
49
50--date=<format>::
51 Show dates formatted according to the given date string. (See
52 the `--date` option in the "Commit Formatting" section of
53 linkgit:git-log[1]). Useful with `--group=format:<format>`.
54
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+
59--
60 - `author`, commits are grouped by author
61 - `committer`, commits are grouped by committer (the same as `-c`)
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`.
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].)
70+
71Note that commits that do not include the trailer will not be counted.
72Likewise, commits with multiple trailers (e.g., multiple signoffs) may
73be counted more than once (but only once per unique trailer value in
74that commit).
75+
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.
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.
86
87-c::
88--committer::
89 This is an alias for `--group=committer`.
90
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.
96+
97If width is `0` (zero) then indent the lines of the output without wrapping
98them.
99
100<revision-range>::
101 Show only commits in the specified revision range. When no
102 <revision-range> is specified, it defaults to `HEAD` (i.e. the
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
106 ways to spell <revision-range>, see the "Specifying Ranges"
107 section of linkgit:gitrevisions[7].
108
109[--] <path>...::
110 Consider only commits that are enough to explain how the files
111 that match the specified paths came to be.
112+
113Paths may need to be prefixed with `--` to separate them from
114options or the revision range, when confusion arises.
115
116:git-shortlog: 1
117include::rev-list-options.adoc[]
118
119MAPPING AUTHORS
120---------------
121
122See linkgit:gitmailmap[5].
123
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
128GIT
129---
130Part of the linkgit:git[1] suite