1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.1//EN"
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3 <html xmlns=
"http://www.w3.org/1999/xhtml" xml:
lang=
"en">
5 <meta http-equiv=
"Content-Type" content=
"text/html; charset=UTF-8" />
6 <meta name=
"generator" content=
"AsciiDoc 8.4.5" />
7 <title>git-shortlog(
1)
</title>
8 <style type=
"text/css">
10 p
, li
, dt
, dd
, div
, pre
, h1
, h2
, h3
, h4
, h5
, h6
{
12 border: 1px solid red;
17 margin: 1em 5% 1em 5%;
22 text-decoration: underline
;
42 h1
, h2
, h3
, h4
, h5
, h6
{
44 font-family: sans-serif
;
51 border-bottom: 2px solid silver
;
69 border: 1px solid silver
;
88 font-family: sans-serif
;
94 span#revnumber
, span#revdate
, span#revremark
{
95 font-family: sans-serif
;
99 font-family: sans-serif
;
101 border-top: 2px solid silver
;
107 padding-bottom: 0.5em;
111 padding-bottom: 0.5em;
116 margin-bottom: 1.5em;
118 div
.tableblock
, div
.imageblock
, div
.exampleblock
, div
.verseblock
,
119 div
.quoteblock
, div
.literalblock
, div
.listingblock
, div
.sidebarblock
,
120 div
.admonitionblock
{
122 margin-bottom: 1.5em;
124 div
.admonitionblock
{
126 margin-bottom: 2.5em;
129 div
.content
{ /* Block element content. */
133 /* Block element titles. */
134 div
.title
, caption
.title
{
136 font-family: sans-serif
;
140 margin-bottom: 0.5em;
146 td div
.title:first-child
{
149 div
.content div
.title:first-child
{
152 div
.content
+ div
.title
{
156 div
.sidebarblock
> div
.content
{
158 border: 1px solid silver
;
162 div
.listingblock
> div
.content
{
163 border: 1px solid silver
;
172 div
.quoteblock
> div
.attribution
{
181 div
.verseblock
> div
.content
{
184 div
.verseblock
> div
.attribution
{
188 /* DEPRECATED: Pre version 8.2.7 verse style literal block. */
189 div
.verseblock
+ div
.attribution
{
193 div
.admonitionblock
.icon
{
197 text-decoration: underline
;
199 padding-right: 0.5em;
201 div
.admonitionblock td
.content
{
203 border-left: 2px solid silver
;
206 div
.exampleblock
> div
.content
{
207 border-left: 2px solid silver
;
211 div
.imageblock div
.content
{ padding-left: 0; }
212 span
.image img
{ border-style: none
; }
213 a
.image:visited
{ color: white
; }
217 margin-bottom: 0.8em;
230 list-style-position: outside
;
233 list-style-type: decimal
;
236 list-style-type: lower-alpha
;
239 list-style-type: upper-alpha
;
242 list-style-type: lower-roman
;
245 list-style-type: upper-roman
;
248 div
.compact ul
, div
.compact ol
,
249 div
.compact p
, div
.compact p
,
250 div
.compact div
, div
.compact div
{
252 margin-bottom: 0.1em;
255 div
.tableblock
> table
{
256 border: 3px solid
#527bbd;
259 font-family: sans-serif
;
271 /* Because the table frame attribute is overriden by CSS in most browsers. */
272 div
.tableblock
> table
[frame
="void"] {
275 div
.tableblock
> table
[frame
="hsides"] {
276 border-left-style: none
;
277 border-right-style: none
;
279 div
.tableblock
> table
[frame
="vsides"] {
280 border-top-style: none
;
281 border-bottom-style: none
;
287 margin-bottom: 0.8em;
290 padding-bottom: 15px;
292 dt
.hdlist1
.strong
, td
.hdlist1
.strong
{
298 padding-right: 0.8em;
304 div
.hdlist
.compact tr
{
314 div#footer-badges
{ display: none
; }
319 font-family: sans-serif
;
323 margin-bottom: 0.1em;
326 div
.toclevel1
, div
.toclevel2
, div
.toclevel3
, div
.toclevel4
{
342 /* Overrides for manpage documents */
345 padding-bottom: 0.5em;
346 border-top: 2px solid silver
;
347 border-bottom: 2px solid silver
;
357 div#toc
{ display: none
; }
360 /* Workarounds for IE6's broken and incomplete CSS2. */
362 div
.sidebar-content
{
364 border: 1px solid silver
;
367 div
.sidebar-title
, div
.image-title
{
369 font-family: sans-serif
;
372 margin-bottom: 0.5em;
375 div
.listingblock div
.content
{
376 border: 1px solid silver
;
381 div
.quoteblock-attribution
{
386 div
.verseblock-content
{
389 div
.verseblock-attribution
{
394 div
.exampleblock-content
{
395 border-left: 2px solid silver
;
399 /* IE6 sets dynamically generated links as visited. */
400 div#toc
a:visited
{ color: blue
; }
406 git-shortlog(
1) Manual Page
409 <div class=
"sectionbody">
411 Summarize 'git log' output
415 <h2 id=
"_synopsis">SYNOPSIS
</h2>
416 <div class=
"sectionbody">
417 <div class=
"verseblock">
418 <div class=
"verseblock-content">git log --pretty=short |
<em>git shortlog
</em> [-h] [-n] [-s] [-e] [-w]
419 <em>git shortlog
</em> [-n|--numbered] [-s|--summary] [-e|--email] [-w[
<width
>[,
<indent1
>[,
<indent2
>]]]]
<commit
>…</div>
420 <div class=
"verseblock-attribution">
423 <h2 id=
"_description">DESCRIPTION
</h2>
424 <div class=
"sectionbody">
425 <div class=
"paragraph"><p>Summarizes
<em>git log
</em> output in a format suitable for inclusion
426 in release announcements. Each commit will be grouped by author and
427 the first line of the commit message will be shown.
</p></div>
428 <div class=
"paragraph"><p>Additionally,
"[PATCH]" will be stripped from the commit description.
</p></div>
429 <div class=
"paragraph"><p>If no revisions are passed on the command line and either standard input
430 is not a terminal or there is no current branch,
<em>git shortlog
</em> will
431 output a summary of the log read from standard input, without
432 reference to the current repository.
</p></div>
434 <h2 id=
"_options">OPTIONS
</h2>
435 <div class=
"sectionbody">
436 <div class=
"dlist"><dl>
445 Print a short usage message and exit.
456 Sort output according to the number of commits per author instead
457 of author alphabetic order.
468 Suppress commit description and provide a commit count summary only.
479 Show the email address of each author.
483 --format[=
<format
>]
487 Instead of the commit subject, use some other information to
488 describe each commit.
<em><format
></em> can be any string accepted
489 by the
<tt>--format
</tt> option of
<em>git log
</em>, such as
<em>* [%h] %s
</em>.
490 (See the
"PRETTY FORMATS" section of
<a href=
"git-log.html">git-log(
1)
</a>.)
492 <div class=
"literalblock">
493 <div class=
"content">
494 <pre><tt>Each pretty-printed commit will be rewrapped before it is shown.
</tt></pre>
498 -w[
<width
>[,
<indent1
>[,
<indent2
>]]]
502 Linewrap the output by wrapping each line at
<tt>width
</tt>. The first
503 line of each entry is indented by
<tt>indent1
</tt> spaces, and the second
504 and subsequent lines are indented by
<tt>indent2
</tt> spaces.
<tt>width
</tt>,
505 <tt>indent1
</tt>, and
<tt>indent2
</tt> default to
76,
6 and
9 respectively.
510 <h2 id=
"_mapping_authors">MAPPING AUTHORS
</h2>
511 <div class=
"sectionbody">
512 <div class=
"paragraph"><p>The
<tt>.mailmap
</tt> feature is used to coalesce together commits by the same
513 person in the shortlog, where their name and/or email address was
514 spelled differently.
</p></div>
515 <div class=
"paragraph"><p>If the file
<tt>.mailmap
</tt> exists at the toplevel of the repository, or at
516 the location pointed to by the mailmap.file configuration option, it
517 is used to map author and committer names and email addresses to
518 canonical real names and email addresses.
</p></div>
519 <div class=
"paragraph"><p>In the simple form, each line in the file consists of the canonical
520 real name of an author, whitespace, and an email address used in the
521 commit (enclosed by
<em><</em> and
<em>></em>) to map to the name. For example:
</p></div>
522 <div class=
"literalblock">
523 <div class=
"content">
524 <pre><tt>Proper Name
<commit@email.xx
></tt></pre>
526 <div class=
"paragraph"><p>The more complex forms are:
</p></div>
527 <div class=
"literalblock">
528 <div class=
"content">
529 <pre><tt><proper@email.xx
> <commit@email.xx
></tt></pre>
531 <div class=
"paragraph"><p>which allows mailmap to replace only the email part of a commit, and:
</p></div>
532 <div class=
"literalblock">
533 <div class=
"content">
534 <pre><tt>Proper Name
<proper@email.xx
> <commit@email.xx
></tt></pre>
536 <div class=
"paragraph"><p>which allows mailmap to replace both the name and the email of a
537 commit matching the specified commit email address, and:
</p></div>
538 <div class=
"literalblock">
539 <div class=
"content">
540 <pre><tt>Proper Name
<proper@email.xx
> Commit Name
<commit@email.xx
></tt></pre>
542 <div class=
"paragraph"><p>which allows mailmap to replace both the name and the email of a
543 commit matching both the specified commit name and email address.
</p></div>
544 <div class=
"paragraph"><p>Example
1: Your history contains commits by two authors, Jane
545 and Joe, whose names appear in the repository under several forms:
</p></div>
546 <div class=
"listingblock">
547 <div class=
"content">
548 <pre><tt>Joe Developer
<joe@example.com
>
549 Joe R. Developer
<joe@example.com
>
550 Jane Doe
<jane@example.com
>
551 Jane Doe
<jane@laptop.(none)
>
552 Jane D.
<jane@desktop.(none)
></tt></pre>
554 <div class=
"paragraph"><p>Now suppose that Joe wants his middle name initial used, and Jane
555 prefers her family name fully spelled out. A proper
<tt>.mailmap
</tt> file
556 would look like:
</p></div>
557 <div class=
"listingblock">
558 <div class=
"content">
559 <pre><tt>Jane Doe
<jane@desktop.(none)
>
560 Joe R. Developer
<joe@example.com
></tt></pre>
562 <div class=
"paragraph"><p>Note how there is no need for an entry for
<<a href=
"mailto:jane@laptop">jane@laptop
</a>.(none)
>, because the
563 real name of that author is already correct.
</p></div>
564 <div class=
"paragraph"><p>Example
2: Your repository contains commits from the following
566 <div class=
"listingblock">
567 <div class=
"content">
568 <pre><tt>nick1
<bugs@company.xx
>
569 nick2
<bugs@company.xx
>
570 nick2
<nick2@company.xx
>
571 santa
<me@company.xx
>
572 claus
<me@company.xx
>
573 CTO
<cto@coompany.xx
></tt></pre>
575 <div class=
"paragraph"><p>Then you might want a
<tt>.mailmap
</tt> file that looks like:
</p></div>
576 <div class=
"listingblock">
577 <div class=
"content">
578 <pre><tt><cto@company.xx
> <cto@coompany.xx
>
579 Some Dude
<some@dude.xx
> nick1
<bugs@company.xx
>
580 Other Author
<other@author.xx
> nick2
<bugs@company.xx
>
581 Other Author
<other@author.xx
> <nick2@company.xx
>
582 Santa Claus
<santa.claus@northpole.xx
> <me@company.xx
></tt></pre>
584 <div class=
"paragraph"><p>Use hash
<em>#
</em> for comments that are either on their own line, or after
585 the email address.
</p></div>
587 <h2 id=
"_git">GIT
</h2>
588 <div class=
"sectionbody">
589 <div class=
"paragraph"><p>Part of the
<a href=
"git.html">git(
1)
</a> suite
</p></div>
592 <div id=
"footer-text">
593 Last updated
2011-
03-
15 23:
30:
14 UTC