| 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.txt[] |
| |
| 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 |