git-rev-list(1)
===============

NAME
----
git-rev-list - Lists commit objects in reverse chronological order


SYNOPSIS
--------
[verse]
'git rev-list' [ \--max-count=<number> ]
	     [ \--skip=<number> ]
	     [ \--max-age=<timestamp> ]
	     [ \--min-age=<timestamp> ]
	     [ \--sparse ]
	     [ \--merges ]
	     [ \--no-merges ]
	     [ \--min-parents=<number> ]
	     [ \--no-min-parents ]
	     [ \--max-parents=<number> ]
	     [ \--no-max-parents ]
	     [ \--first-parent ]
	     [ \--remove-empty ]
	     [ \--full-history ]
	     [ \--not ]
	     [ \--all ]
	     [ \--branches[=<pattern>] ]
	     [ \--tags[=<pattern>] ]
	     [ \--remotes[=<pattern>] ]
	     [ \--glob=<glob-pattern> ]
	     [ \--ignore-missing ]
	     [ \--stdin ]
	     [ \--quiet ]
	     [ \--topo-order ]
	     [ \--parents ]
	     [ \--timestamp ]
	     [ \--left-right ]
	     [ \--left-only ]
	     [ \--right-only ]
	     [ \--cherry-mark ]
	     [ \--cherry-pick ]
	     [ \--encoding[=<encoding>] ]
	     [ \--(author|committer|grep)=<pattern> ]
	     [ \--regexp-ignore-case | -i ]
	     [ \--extended-regexp | -E ]
	     [ \--fixed-strings | -F ]
	     [ \--date=(local|relative|default|iso|rfc|short) ]
	     [ [\--objects | \--objects-edge] [ \--unpacked ] ]
	     [ \--pretty | \--header ]
	     [ \--bisect ]
	     [ \--bisect-vars ]
	     [ \--bisect-all ]
	     [ \--merge ]
	     [ \--reverse ]
	     [ \--walk-reflogs ]
	     [ \--no-walk ] [ \--do-walk ]
	     <commit>... [ \-- <paths>... ]

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
-----------------------------------------------------------------------

'rev-list' is a very essential git command, since it
provides the ability to build and traverse commit ancestry graphs. For
this reason, it has a lot of different options that enables it to be
used by commands as different as 'git bisect' and
'git repack'.

OPTIONS
-------

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

include::pretty-formats.txt[]

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