|  | git-shortlog(1) | 
|  | =============== | 
|  |  | 
|  | NAME | 
|  | ---- | 
|  | git-shortlog - Summarize 'git log' output | 
|  |  | 
|  | SYNOPSIS | 
|  | -------- | 
|  | [verse] | 
|  | 'git shortlog' [<options>] [<revision-range>] [[--] <path>...] | 
|  | git log --pretty=short | 'git shortlog' [<options>] | 
|  |  | 
|  | DESCRIPTION | 
|  | ----------- | 
|  | Summarizes 'git log' output in a format suitable for inclusion | 
|  | in release announcements. Each commit will be grouped by author and title. | 
|  |  | 
|  | Additionally, "[PATCH]" will be stripped from the commit description. | 
|  |  | 
|  | If no revisions are passed on the command line and either standard input | 
|  | is not a terminal or there is no current branch, 'git shortlog' will | 
|  | output a summary of the log read from standard input, without | 
|  | reference to the current repository. | 
|  |  | 
|  | OPTIONS | 
|  | ------- | 
|  |  | 
|  | -n:: | 
|  | --numbered:: | 
|  | Sort output according to the number of commits per author instead | 
|  | of author alphabetic order. | 
|  |  | 
|  | -s:: | 
|  | --summary:: | 
|  | Suppress commit description and provide a commit count summary only. | 
|  |  | 
|  | -e:: | 
|  | --email:: | 
|  | Show the email address of each author. | 
|  |  | 
|  | --format[=<format>]:: | 
|  | Instead of the commit subject, use some other information to | 
|  | describe each commit.  '<format>' can be any string accepted | 
|  | by the `--format` option of 'git log', such as '* [%h] %s'. | 
|  | (See the "PRETTY FORMATS" section of linkgit:git-log[1].) | 
|  |  | 
|  | Each pretty-printed commit will be rewrapped before it is shown. | 
|  |  | 
|  | --date=<format>:: | 
|  | Show dates formatted according to the given date string. (See | 
|  | the `--date` option in the "Commit Formatting" section of | 
|  | linkgit:git-log[1]). Useful with `--group=format:<format>`. | 
|  |  | 
|  | --group=<type>:: | 
|  | Group commits based on `<type>`. If no `--group` option is | 
|  | specified, the default is `author`. `<type>` is one of: | 
|  | + | 
|  | -- | 
|  | - `author`, commits are grouped by author | 
|  | - `committer`, commits are grouped by committer (the same as `-c`) | 
|  | - `trailer:<field>`, the `<field>` is interpreted as a case-insensitive | 
|  | commit message trailer (see linkgit:git-interpret-trailers[1]). For | 
|  | example, if your project uses `Reviewed-by` trailers, you might want | 
|  | to see who has been reviewing with | 
|  | `git shortlog -ns --group=trailer:reviewed-by`. | 
|  | - `format:<format>`, any string accepted by the `--format` option of | 
|  | 'git log'. (See the "PRETTY FORMATS" section of | 
|  | linkgit:git-log[1].) | 
|  | + | 
|  | Note that commits that do not include the trailer will not be counted. | 
|  | Likewise, commits with multiple trailers (e.g., multiple signoffs) may | 
|  | be counted more than once (but only once per unique trailer value in | 
|  | that commit). | 
|  | + | 
|  | Shortlog will attempt to parse each trailer value as a `name <email>` | 
|  | identity. If successful, the mailmap is applied and the email is omitted | 
|  | unless the `--email` option is specified. If the value cannot be parsed | 
|  | as an identity, it will be taken literally and completely. | 
|  | -- | 
|  | + | 
|  | If `--group` is specified multiple times, commits are counted under each | 
|  | value (but again, only once per unique value in that commit). For | 
|  | example, `git shortlog --group=author --group=trailer:co-authored-by` | 
|  | counts both authors and co-authors. | 
|  |  | 
|  | -c:: | 
|  | --committer:: | 
|  | This is an alias for `--group=committer`. | 
|  |  | 
|  | -w[<width>[,<indent1>[,<indent2>]]]:: | 
|  | Linewrap the output by wrapping each line at `width`.  The first | 
|  | line of each entry is indented by `indent1` spaces, and the second | 
|  | and subsequent lines are indented by `indent2` spaces. `width`, | 
|  | `indent1`, and `indent2` default to 76, 6 and 9 respectively. | 
|  | + | 
|  | If width is `0` (zero) then indent the lines of the output without wrapping | 
|  | them. | 
|  |  | 
|  | <revision-range>:: | 
|  | Show only commits in the specified revision range.  When no | 
|  | <revision-range> is specified, it defaults to `HEAD` (i.e. the | 
|  | whole history leading to the current commit).  `origin..HEAD` | 
|  | specifies all the commits reachable from the current commit | 
|  | (i.e. `HEAD`), but not from `origin`. For a complete list of | 
|  | ways to spell <revision-range>, see the "Specifying Ranges" | 
|  | section of linkgit:gitrevisions[7]. | 
|  |  | 
|  | [--] <path>...:: | 
|  | Consider only commits that are enough to explain how the files | 
|  | that match the specified paths came to be. | 
|  | + | 
|  | Paths may need to be prefixed with `--` to separate them from | 
|  | options or the revision range, when confusion arises. | 
|  |  | 
|  | :git-shortlog: 1 | 
|  | include::rev-list-options.adoc[] | 
|  |  | 
|  | MAPPING AUTHORS | 
|  | --------------- | 
|  |  | 
|  | See linkgit:gitmailmap[5]. | 
|  |  | 
|  | Note that if `git shortlog` is run outside of a repository (to process | 
|  | log contents on standard input), it will look for a `.mailmap` file in | 
|  | the current directory. | 
|  |  | 
|  | GIT | 
|  | --- | 
|  | Part of the linkgit:git[1] suite |