1git-rev-list(1) 2=============== 3 4NAME 5---- 6git-rev-list - Lists commit objects in reverse chronological order 7 8 9SYNOPSIS 10-------- 11[verse] 12'git-rev-list' [ \--max-count=number ] 13 [ \--skip=number ] 14 [ \--max-age=timestamp ] 15 [ \--min-age=timestamp ] 16 [ \--sparse ] 17 [ \--merges ] 18 [ \--no-merges ] 19 [ \--first-parent ] 20 [ \--remove-empty ] 21 [ \--full-history ] 22 [ \--not ] 23 [ \--all ] 24 [ \--branches ] 25 [ \--tags ] 26 [ \--remotes ] 27 [ \--stdin ] 28 [ \--quiet ] 29 [ \--topo-order ] 30 [ \--parents ] 31 [ \--timestamp ] 32 [ \--left-right ] 33 [ \--cherry-pick ] 34 [ \--encoding[=<encoding>] ] 35 [ \--(author|committer|grep)=<pattern> ] 36 [ \--regexp-ignore-case | -i ] 37 [ \--extended-regexp | -E ] 38 [ \--fixed-strings | -F ] 39 [ \--date={local|relative|default|iso|rfc|short} ] 40 [ [\--objects | \--objects-edge] [ \--unpacked ] ] 41 [ \--pretty | \--header ] 42 [ \--bisect ] 43 [ \--bisect-vars ] 44 [ \--bisect-all ] 45 [ \--merge ] 46 [ \--reverse ] 47 [ \--walk-reflogs ] 48 [ \--no-walk ] [ \--do-walk ] 49 <commit>... [ \-- <paths>... ] 50 51DESCRIPTION 52----------- 53 54Lists commit objects in reverse chronological order starting at the 55given commit(s), taking ancestry relationship into account. This is 56useful to produce human-readable log output. 57 58Commits which are stated with a preceding '{caret}' cause listing to 59stop at that point. Their parents are implied. Thus the following 60command: 61 62----------------------------------------------------------------------- 63 $ git rev-list foo bar ^baz 64----------------------------------------------------------------------- 65 66means "list all the commits which are included in 'foo' and 'bar', but 67not in 'baz'". 68 69A special notation "'<commit1>'..'<commit2>'" can be used as a 70short-hand for "{caret}'<commit1>' '<commit2>'". For example, either of 71the following may be used interchangeably: 72 73----------------------------------------------------------------------- 74 $ git rev-list origin..HEAD 75 $ git rev-list HEAD ^origin 76----------------------------------------------------------------------- 77 78Another special notation is "'<commit1>'...'<commit2>'" which is useful 79for merges. The resulting set of commits is the symmetric difference 80between the two operands. The following two commands are equivalent: 81 82----------------------------------------------------------------------- 83 $ git rev-list A B --not $(git merge-base --all A B) 84 $ git rev-list A...B 85----------------------------------------------------------------------- 86 87'git-rev-list' is a very essential git program, since it 88provides the ability to build and traverse commit ancestry graphs. For 89this reason, it has a lot of different options that enables it to be 90used by commands as different as 'git-bisect' and 91'git-repack'. 92 93OPTIONS 94------- 95 96:git-rev-list: 1 97include::rev-list-options.txt[] 98 99include::pretty-formats.txt[] 100 101 102Author 103------ 104Written by Linus Torvalds <torvalds@osdl.org> 105 106Documentation 107-------------- 108Documentation by David Greaves, Junio C Hamano, Jonas Fonseca 109and the git-list <git@vger.kernel.org>. 110 111GIT 112--- 113Part of the linkgit:git[1] suite