git-log(1)
==========

NAME
----
git-log - Show commit logs


SYNOPSIS
--------
[verse]
'git log' [<options>] [<revision range>] [[--] <path>...]

DESCRIPTION
-----------
Shows the commit logs.

:git-log: 1
include::rev-list-description.txt[]

The command takes options applicable to the linkgit:git-rev-list[1]
command to control what is shown and how, and options applicable to
the linkgit:git-diff[1] command to control how the changes
each commit introduces are shown.


OPTIONS
-------

--follow::
	Continue listing the history of a file beyond renames
	(works only for a single file).

--no-decorate::
--decorate[=short|full|auto|no]::
	Print out the ref names of any commits that are shown. If 'short' is
	specified, the ref name prefixes 'refs/heads/', 'refs/tags/' and
	'refs/remotes/' will not be printed. If 'full' is specified, the
	full ref name (including prefix) will be printed. If 'auto' is
	specified, then if the output is going to a terminal, the ref names
	are shown as if 'short' were given, otherwise no ref names are
	shown. The default option is 'short'.

--decorate-refs=<pattern>::
--decorate-refs-exclude=<pattern>::
	If no `--decorate-refs` is given, pretend as if all refs were
	included.  For each candidate, do not use it for decoration if it
	matches any patterns given to `--decorate-refs-exclude` or if it
	doesn't match any of the patterns given to `--decorate-refs`. The
	`log.excludeDecoration` config option allows excluding refs from
	the decorations, but an explicit `--decorate-refs` pattern will
	override a match in `log.excludeDecoration`.

--source::
	Print out the ref name given on the command line by which each
	commit was reached.

--[no-]mailmap::
--[no-]use-mailmap::
	Use mailmap file to map author and committer names and email
	addresses to canonical real names and email addresses. See
	linkgit:git-shortlog[1].

--full-diff::
	Without this flag, `git log -p <path>...` shows commits that
	touch the specified paths, and diffs about the same specified
	paths.  With this, the full diff is shown for commits that touch
	the specified paths; this means that "<path>..." limits only
	commits, and doesn't limit diff for those commits.
+
Note that this affects all diff-based output types, e.g. those
produced by `--stat`, etc.

--log-size::
	Include a line ``log size <number>'' in the output for each commit,
	where <number> is the length of that commit's message in bytes.
	Intended to speed up tools that read log messages from `git log`
	output by allowing them to allocate space in advance.

-L <start>,<end>:<file>::
-L :<funcname>:<file>::
	Trace the evolution of the line range given by "<start>,<end>"
	(or the function name regex <funcname>) within the <file>.  You may
	not give any pathspec limiters.  This is currently limited to
	a walk starting from a single revision, i.e., you may only
	give zero or one positive revision arguments, and
	<start> and <end> (or <funcname>) must exist in the starting revision.
	You can specify this option more than once. Implies `--patch`.
	Patch output can be suppressed using `--no-patch`, but other diff formats
	(namely `--raw`, `--numstat`, `--shortstat`, `--dirstat`, `--summary`,
	`--name-only`, `--name-status`, `--check`) are not currently implemented.
+
include::line-range-format.txt[]

<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>...::
	Show only commits that are enough to explain how the files
	that match the specified paths came to be.  See 'History
	Simplification' below for details and other simplification
	modes.
+
Paths may need to be prefixed with `--` to separate them from
options or the revision range, when confusion arises.

include::rev-list-options.txt[]

include::pretty-formats.txt[]

COMMON DIFF OPTIONS
-------------------

:git-log: 1
include::diff-options.txt[]

include::diff-generate-patch.txt[]

EXAMPLES
--------
`git log --no-merges`::

	Show the whole commit history, but skip any merges

`git log v2.6.12.. include/scsi drivers/scsi`::

	Show all commits since version 'v2.6.12' that changed any file
	in the `include/scsi` or `drivers/scsi` subdirectories

`git log --since="2 weeks ago" -- gitk`::

	Show the changes during the last two weeks to the file 'gitk'.
	The `--` is necessary to avoid confusion with the *branch* named
	'gitk'

`git log --name-status release..test`::

	Show the commits that are in the "test" branch but not yet
	in the "release" branch, along with the list of paths
	each commit modifies.

`git log --follow builtin/rev-list.c`::

	Shows the commits that changed `builtin/rev-list.c`, including
	those commits that occurred before the file was given its
	present name.

`git log --branches --not --remotes=origin`::

	Shows all commits that are in any of local branches but not in
	any of remote-tracking branches for 'origin' (what you have that
	origin doesn't).

`git log master --not --remotes=*/master`::

	Shows all commits that are in local master but not in any remote
	repository master branches.

`git log -p -m --first-parent`::

	Shows the history including change diffs, but only from the
	``main branch'' perspective, skipping commits that come from merged
	branches, and showing full diffs of changes introduced by the merges.
	This makes sense only when following a strict policy of merging all
	topic branches when staying on a single integration branch.

`git log -L '/int main/',/^}/:main.c`::

	Shows how the function `main()` in the file `main.c` evolved
	over time.

`git log -3`::

	Limits the number of commits to show to 3.

DISCUSSION
----------

include::i18n.txt[]

CONFIGURATION
-------------

See linkgit:git-config[1] for core variables and linkgit:git-diff[1]
for settings related to diff generation.

format.pretty::
	Default for the `--format` option.  (See 'Pretty Formats' above.)
	Defaults to `medium`.

i18n.logOutputEncoding::
	Encoding to use when displaying logs.  (See 'Discussion' above.)
	Defaults to the value of `i18n.commitEncoding` if set, and UTF-8
	otherwise.

log.date::
	Default format for human-readable dates.  (Compare the
	`--date` option.)  Defaults to "default", which means to write
	dates like `Sat May 8 19:35:34 2010 -0500`.
+
If the format is set to "auto:foo" and the pager is in use, format
"foo" will be the used for the date format. Otherwise "default" will
be used.

log.follow::
	If `true`, `git log` will act as if the `--follow` option was used when
	a single <path> is given.  This has the same limitations as `--follow`,
	i.e. it cannot be used to follow multiple files and does not work well
	on non-linear history.

log.showRoot::
	If `false`, `git log` and related commands will not treat the
	initial commit as a big creation event.  Any root commits in
	`git log -p` output would be shown without a diff attached.
	The default is `true`.

log.showSignature::
	If `true`, `git log` and related commands will act as if the
	`--show-signature` option was passed to them.

mailmap.*::
	See linkgit:git-shortlog[1].

notes.displayRef::
	Which refs, in addition to the default set by `core.notesRef`
	or `GIT_NOTES_REF`, to read notes from when showing commit
	messages with the `log` family of commands.  See
	linkgit:git-notes[1].
+
May be an unabbreviated ref name or a glob and may be specified
multiple times.  A warning will be issued for refs that do not exist,
but a glob that does not match any refs is silently ignored.
+
This setting can be disabled by the `--no-notes` option,
overridden by the `GIT_NOTES_DISPLAY_REF` environment variable,
and overridden by the `--notes=<ref>` option.

GIT
---
Part of the linkgit:git[1] suite
