You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
119 lines
3.5 KiB
119 lines
3.5 KiB
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 ] |
|
[ \--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 |
|
----------- |
|
|
|
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[] |
|
|
|
|
|
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
|
|
|