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