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.
121 lines
3.6 KiB
121 lines
3.6 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 ] |
|
[ --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=<format>] |
|
[ [ --objects | --objects-edge | --objects-edge-aggressive ] |
|
[ --unpacked ] ] |
|
[ --pretty | --header ] |
|
[ --bisect ] |
|
[ --bisect-vars ] |
|
[ --bisect-all ] |
|
[ --merge ] |
|
[ --reverse ] |
|
[ --walk-reflogs ] |
|
[ --no-walk ] [ --do-walk ] |
|
[ --count ] |
|
[ --use-bitmap-index ] |
|
<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
|
|
|