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