revision traversal: show full history with merge simplification
[gitweb.git] / Documentation / git-log.txt
index 13a3998302a2817bb36d7555f171311ce19a3d0c..0446bad7e589c06c97bb9274e9edd4b343ef9e55 100644 (file)
@@ -8,26 +8,98 @@ git-log - Show commit logs
 
 SYNOPSIS
 --------
-'git-log' <option>...
+'git log' <option>...
 
 DESCRIPTION
 -----------
-Shows the commit logs.  This command internally invokes
-'git-rev-list', and the command line options are passed to that
-command.
+Shows the commit logs.
+
+The command takes options applicable to the 'git-rev-list'
+command to control what is shown and how, and options applicable to
+the 'git-diff-*' commands to control how the changes
+each commit introduces are shown.
 
-This manual page describes only the most frequently used options.
 
 OPTIONS
 -------
---pretty=<format>:
-       Controls the way the commit log is formatted.
 
---max-count=<n>::
+: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.
+       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 <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.
+
+--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.
+
+<path>...::
+       Show only commits that affect any of 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
@@ -40,5 +112,4 @@ Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel
 
 GIT
 ---
-Part of the gitlink:git[7] suite
-
+Part of the linkgit:git[1] suite