Merge branch 'master' of git://repo.or.cz/alt-git into jn/autodep
[gitweb.git] / Documentation / git-log.txt
index db61bc96c7e23132c41bb75724d669a6224a3d76..0e39bb61eebfce5d1bff032c65bf04bb77f8ce62 100644 (file)
@@ -8,15 +8,15 @@ git-log - Show commit logs
 
 SYNOPSIS
 --------
-'git-log' <option>...
+'git log' [<options>] [<since>..<until>] [[\--] <path>...]
 
 DESCRIPTION
 -----------
 Shows the commit logs.
 
-The command takes options applicable to the linkgit:git-rev-list[1]
+The command takes options applicable to the 'git rev-list'
 command to control what is shown and how, and options applicable to
-the linkgit:git-diff-tree[1] commands to control how the changes
+the 'git diff-*' commands to control how the changes
 each commit introduces are shown.
 
 
@@ -37,14 +37,22 @@ include::diff-options.txt[]
        and <until>, see "SPECIFYING REVISIONS" section in
        linkgit:git-rev-parse[1].
 
---decorate::
-       Print out the ref names of any commits that are shown.
+--decorate[=short|full]::
+       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. The default option
+       is 'short'.
+
+--source::
+       Print out the ref name given on the command line by which each
+       commit was reached.
 
 --full-diff::
-       Without this flag, "git log -p <paths>..." shows commits that
+       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 "<paths>..." limits only
+       the specified paths; this means that "<path>..." limits only
        commits, and doesn't limit diff for those commits.
 
 --follow::
@@ -57,8 +65,11 @@ include::diff-options.txt[]
        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.
+[\--] <path>...::
+       Show only commits that affect any of the specified paths. To
+       prevent confusion with options and branch names, paths may need
+       to be prefixed with "\-- " to separate them from options or
+       refnames.
 
 
 include::rev-list-options.txt[]
@@ -96,6 +107,17 @@ git log --follow builtin-rev-list.c::
        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.
+
 Discussion
 ----------