| git-shortlog(1) | |
| =============== | |
| NAME | |
| ---- | |
| git-shortlog - Summarize `git log` output | |
| SYNOPSIS | |
| -------- | |
| [synopsis] | |
| 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`. | |
| + | |
| 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. | |
| - `format:<format>`, any string accepted by the `--format` option of | |
| `git log`. (See the 'PRETTY FORMATS' section of | |
| linkgit:git-log[1].) | |
| -- | |
| + | |
| 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 |