| 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 ] | |
| [ \--no-merges ] | |
| [ \--first-parent ] | |
| [ \--remove-empty ] | |
| [ \--full-history ] | |
| [ \--not ] | |
| [ \--all ] | |
| [ \--branches ] | |
| [ \--tags ] | |
| [ \--remotes ] | |
| [ \--stdin ] | |
| [ \--quiet ] | |
| [ \--topo-order ] | |
| [ \--parents ] | |
| [ \--timestamp ] | |
| [ \--left-right ] | |
| [ \--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 | |
| ----------- | |
| Lists commit objects in reverse chronological order starting at the | |
| given commit(s), taking ancestry relationship into account. This is | |
| useful to produce human-readable log output. | |
| Commits which are stated with a preceding '{caret}' cause listing to | |
| stop at that point. Their parents are implied. Thus the following | |
| command: | |
| ----------------------------------------------------------------------- | |
| $ git rev-list foo bar ^baz | |
| ----------------------------------------------------------------------- | |
| means "list all the commits which are included in 'foo' and 'bar', but | |
| not in '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' is a very essential git program, 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[] | |
| Author | |
| ------ | |
| Written by Linus Torvalds <torvalds@osdl.org> | |
| Documentation | |
| -------------- | |
| Documentation by David Greaves, Junio C Hamano, Jonas Fonseca | |
| and the git-list <git@vger.kernel.org>. | |
| GIT | |
| --- | |
| Part of the linkgit:git[1] suite |