mirror of
https://github.com/git/git.git
synced 2024-12-18 14:24:11 +08:00
92338c450b
In preparation for adding more grouping types, let's refactor the committer/author grouping code and add a user-facing option that binds them together. In particular: - the main option is now "--group", to make it clear that the various group types are mutually exclusive. The "--committer" option is an alias for "--group=committer". - we keep an enum rather than a binary flag, to prepare for more values - we prefer switch statements to ternary assignment, since other group types will need more custom code Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
101 lines
2.9 KiB
Plaintext
101 lines
2.9 KiB
Plaintext
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.
|
|
|
|
--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`)
|
|
|
|
-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
|
|
---------------
|
|
|
|
The `.mailmap` feature is used to coalesce together commits by the same
|
|
person in the shortlog, where their name and/or email address was
|
|
spelled differently.
|
|
|
|
include::mailmap.txt[]
|
|
|
|
GIT
|
|
---
|
|
Part of the linkgit:git[1] suite
|