Merge branch 'pb/log-rev-list-doc' into master
"git help log" has been enhanced by sharing more material from the documentation for the underlying "git rev-list" command. * pb/log-rev-list-doc: git-log.txt: include rev-list-description.txt git-rev-list.txt: move description to separate file git-rev-list.txt: tweak wording in set operations git-rev-list.txt: fix Asciidoc syntax revisions.txt: describe 'rev1 rev2 ...' meaning for ranges git-log.txt: add links to 'rev-list' and 'diff' docs
This commit is contained in:
commit
5ca82e339e
@ -15,9 +15,12 @@ DESCRIPTION
|
||||
-----------
|
||||
Shows the commit logs.
|
||||
|
||||
The command takes options applicable to the `git rev-list`
|
||||
: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 `git diff-*` commands to control how the changes
|
||||
the linkgit:git-diff[1] command to control how the changes
|
||||
each commit introduces are shown.
|
||||
|
||||
|
||||
|
@ -14,44 +14,8 @@ SYNOPSIS
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
List commits that are reachable by following the `parent` links from the
|
||||
given commit(s), but exclude commits that are reachable from the one(s)
|
||||
given with a '{caret}' in front of them. The output is given in reverse
|
||||
chronological order by default.
|
||||
|
||||
You can think of this as a set operation. Commits given on the command
|
||||
line form a set of commits that are reachable from any of them, and then
|
||||
commits reachable from any of the ones given with '{caret}' in front are
|
||||
subtracted from that set. The remaining commits are what comes out in the
|
||||
command's output. Various other options and paths parameters can be used
|
||||
to further limit the result.
|
||||
|
||||
Thus, the following command:
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
$ git rev-list foo bar ^baz
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
means "list all the commits which are reachable from 'foo' or 'bar', but
|
||||
not from 'baz'".
|
||||
|
||||
A special notation "'<commit1>'..'<commit2>'" can be used as a
|
||||
short-hand for "{caret}'<commit1>' '<commit2>'". For example, either of
|
||||
the following may be used interchangeably:
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
$ git rev-list origin..HEAD
|
||||
$ git rev-list HEAD ^origin
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
Another special notation is "'<commit1>'...'<commit2>'" which is useful
|
||||
for merges. The resulting set of commits is the symmetric difference
|
||||
between the two operands. The following two commands are equivalent:
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
$ git rev-list A B --not $(git merge-base --all A B)
|
||||
$ git rev-list A...B
|
||||
-----------------------------------------------------------------------
|
||||
:git-rev-list: 1
|
||||
include::rev-list-description.txt[]
|
||||
|
||||
'rev-list' is a very essential Git command, since it
|
||||
provides the ability to build and traverse commit ancestry graphs. For
|
||||
|
61
Documentation/rev-list-description.txt
Normal file
61
Documentation/rev-list-description.txt
Normal file
@ -0,0 +1,61 @@
|
||||
List commits that are reachable by following the `parent` links from the
|
||||
given commit(s), but exclude commits that are reachable from the one(s)
|
||||
given with a '{caret}' in front of them. The output is given in reverse
|
||||
chronological order by default.
|
||||
|
||||
You can think of this as a set operation. Commits reachable from any of
|
||||
the commits given on the command line form a set, and then commits reachable
|
||||
from any of the ones given with '{caret}' in front are subtracted from that
|
||||
set. The remaining commits are what comes out in the command's output.
|
||||
Various other options and paths parameters can be used to further limit the
|
||||
result.
|
||||
|
||||
Thus, the following command:
|
||||
|
||||
ifdef::git-rev-list[]
|
||||
-----------------------------------------------------------------------
|
||||
$ git rev-list foo bar ^baz
|
||||
-----------------------------------------------------------------------
|
||||
endif::git-rev-list[]
|
||||
ifdef::git-log[]
|
||||
-----------------------------------------------------------------------
|
||||
$ git log foo bar ^baz
|
||||
-----------------------------------------------------------------------
|
||||
endif::git-log[]
|
||||
|
||||
means "list all the commits which are reachable from 'foo' or 'bar', but
|
||||
not from 'baz'".
|
||||
|
||||
A special notation "'<commit1>'..'<commit2>'" can be used as a
|
||||
short-hand for "^'<commit1>' '<commit2>'". For example, either of
|
||||
the following may be used interchangeably:
|
||||
|
||||
ifdef::git-rev-list[]
|
||||
-----------------------------------------------------------------------
|
||||
$ git rev-list origin..HEAD
|
||||
$ git rev-list HEAD ^origin
|
||||
-----------------------------------------------------------------------
|
||||
endif::git-rev-list[]
|
||||
ifdef::git-log[]
|
||||
-----------------------------------------------------------------------
|
||||
$ git log origin..HEAD
|
||||
$ git log HEAD ^origin
|
||||
-----------------------------------------------------------------------
|
||||
endif::git-log[]
|
||||
|
||||
Another special notation is "'<commit1>'...'<commit2>'" which is useful
|
||||
for merges. The resulting set of commits is the symmetric difference
|
||||
between the two operands. The following two commands are equivalent:
|
||||
|
||||
ifdef::git-rev-list[]
|
||||
-----------------------------------------------------------------------
|
||||
$ git rev-list A B --not $(git merge-base --all A B)
|
||||
$ git rev-list A...B
|
||||
-----------------------------------------------------------------------
|
||||
endif::git-rev-list[]
|
||||
ifdef::git-log[]
|
||||
-----------------------------------------------------------------------
|
||||
$ git log A B --not $(git merge-base --all A B)
|
||||
$ git log A...B
|
||||
-----------------------------------------------------------------------
|
||||
endif::git-log[]
|
@ -254,6 +254,9 @@ specifying a single revision, using the notation described in the
|
||||
previous section, means the set of commits `reachable` from the given
|
||||
commit.
|
||||
|
||||
Specifying several revisions means the set of commits reachable from
|
||||
any of the given commits.
|
||||
|
||||
A commit's reachable set is the commit itself and the commits in
|
||||
its ancestry chain.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user