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

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


SYNOPSIS
--------
'git-log' <option>...

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

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-tree[1] commands to control how the changes
each commit introduces are shown.


OPTIONS
-------

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

-<n>::
	Limits the number of commits to show.

<since>..<until>::
	Show only commits between the named two commits.  When
	either <since> or <until> is omitted, it defaults to
	`HEAD`, i.e. the tip of the current branch.
	For a more complete list of ways to spell <since>
	and <until>, see "SPECIFYING REVISIONS" section in
	linkgit:git-rev-parse[1].

--decorate::
	Print out the ref names of any commits that are shown.

--full-diff::
	Without this flag, "git log -p <paths>..." 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 "<paths>..." limits only
	commits, and doesn't limit diff for those commits.

--follow::
	Continue listing the history of a file beyond renames.

--log-size::
	Before the log message print out its size in bytes. Intended
	mainly for porcelain tools consumption. If git is unable to
	produce a valid value size is set to zero.
	Note that only message is considered, if also a diff is shown
	its size is not included.

<paths>...::
	Show only commits that affect the specified paths.


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

include::pretty-formats.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.

Discussion
----------

include::i18n.txt[]


Author
------
Written by Linus Torvalds <torvalds@osdl.org>

Documentation
--------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.

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