]>
Commit | Line | Data |
---|---|---|
3f971fc4 JH |
1 | git-shortlog(1) |
2 | =============== | |
3f971fc4 JH |
3 | |
4 | NAME | |
5 | ---- | |
0b444cdb | 6 | git-shortlog - Summarize 'git log' output |
3f971fc4 | 7 | |
3f971fc4 JH |
8 | SYNOPSIS |
9 | -------- | |
0ad64fd0 | 10 | [verse] |
133db54d | 11 | 'git shortlog' [<options>] [<revision-range>] [[--] <path>...] |
a8210328 | 12 | git log --pretty=short | 'git shortlog' [<options>] |
3f971fc4 JH |
13 | |
14 | DESCRIPTION | |
15 | ----------- | |
0b444cdb | 16 | Summarizes 'git log' output in a format suitable for inclusion |
52ffe995 | 17 | in release announcements. Each commit will be grouped by author and title. |
74237d62 JF |
18 | |
19 | Additionally, "[PATCH]" will be stripped from the commit description. | |
20 | ||
02646fe5 JN |
21 | If no revisions are passed on the command line and either standard input |
22 | is not a terminal or there is no current branch, 'git shortlog' will | |
23 | output a summary of the log read from standard input, without | |
24 | reference to the current repository. | |
25 | ||
4e27fb06 NP |
26 | OPTIONS |
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 | + | |
63 | Note that commits that do not include the trailer will not be counted. | |
64 | Likewise, commits with multiple trailers (e.g., multiple signoffs) may | |
f17b0b99 JK |
65 | be counted more than once (but only once per unique trailer value in |
66 | that commit). | |
47beb37b | 67 | + |
56d5dde7 JK |
68 | Shortlog will attempt to parse each trailer value as a `name <email>` |
69 | identity. If successful, the mailmap is applied and the email is omitted | |
70 | unless the `--email` option is specified. If the value cannot be parsed | |
71 | as an identity, it will be taken literally and completely. | |
63d24fa0 JK |
72 | -- |
73 | + | |
74 | If `--group` is specified multiple times, commits are counted under each | |
75 | value (but again, only once per unique value in that commit). For | |
76 | example, `git shortlog --group=author --group=trailer:co-authored-by` | |
77 | counts 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 | + |
89 | If width is `0` (zero) then indent the lines of the output without wrapping | |
90 | them. | |
55ef8a46 | 91 | |
133db54d | 92 | <revision-range>:: |
46b2a46d | 93 | Show only commits in the specified revision range. When no |
133db54d | 94 | <revision-range> is specified, it defaults to `HEAD` (i.e. the |
46b2a46d RR |
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 | |
133db54d | 98 | ways to spell <revision-range>, see the "Specifying Ranges" |
46b2a46d RR |
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 | 105 | Paths may need to be prefixed with `--` to separate them from |
46b2a46d | 106 | options or the revision range, when confusion arises. |
7d48e9e6 | 107 | |
461caf3e PY |
108 | :git-shortlog: 1 |
109 | include::rev-list-options.txt[] | |
110 | ||
7d48e9e6 MSO |
111 | MAPPING AUTHORS |
112 | --------------- | |
113 | ||
42957af0 | 114 | See linkgit:gitmailmap[5]. |
0925ce4d | 115 | |
a38cb987 JK |
116 | Note that if `git shortlog` is run outside of a repository (to process |
117 | log contents on standard input), it will look for a `.mailmap` file in | |
118 | the current directory. | |
119 | ||
3f971fc4 JH |
120 | GIT |
121 | --- | |
9e1f0a85 | 122 | Part of the linkgit:git[1] suite |