]>
Commit | Line | Data |
---|---|---|
2cf565c5 DG |
1 | git-rev-list(1) |
2 | =============== | |
2cf565c5 DG |
3 | |
4 | NAME | |
5 | ---- | |
6 | git-rev-list - Lists commit objects in reverse chronological order | |
7 | ||
8 | ||
9 | SYNOPSIS | |
10 | -------- | |
353ce815 | 11 | [verse] |
62b4698e ŠN |
12 | 'git rev-list' [ \--max-count=<number> ] |
13 | [ \--skip=<number> ] | |
14 | [ \--max-age=<timestamp> ] | |
15 | [ \--min-age=<timestamp> ] | |
353ce815 | 16 | [ \--sparse ] |
2657420d | 17 | [ \--merges ] |
353ce815 | 18 | [ \--no-merges ] |
25db465a | 19 | [ \--first-parent ] |
93b74bca | 20 | [ \--remove-empty ] |
29a6c3f8 | 21 | [ \--full-history ] |
0d2c9d67 | 22 | [ \--not ] |
353ce815 | 23 | [ \--all ] |
62b4698e ŠN |
24 | [ \--branches[=<pattern>] ] |
25 | [ \--tags[=<pattern>] ] | |
26 | [ \--remotes[=<pattern>] ] | |
27 | [ \--glob=<glob-pattern> ] | |
42cabc34 | 28 | [ \--stdin ] |
27350891 | 29 | [ \--quiet ] |
765ac8ec | 30 | [ \--topo-order ] |
353ce815 | 31 | [ \--parents ] |
e3c1500f | 32 | [ \--timestamp ] |
b24bace5 | 33 | [ \--left-right ] |
55a643ed | 34 | [ \--cherry-pick ] |
7cbcf4d5 | 35 | [ \--encoding[=<encoding>] ] |
bd95fcd3 | 36 | [ \--(author|committer|grep)=<pattern> ] |
5d6b3a9e SG |
37 | [ \--regexp-ignore-case | -i ] |
38 | [ \--extended-regexp | -E ] | |
39 | [ \--fixed-strings | -F ] | |
0adda936 | 40 | [ \--date=(local|relative|default|iso|rfc|short) ] |
ec579767 | 41 | [ [\--objects | \--objects-edge] [ \--unpacked ] ] |
353ce815 JF |
42 | [ \--pretty | \--header ] |
43 | [ \--bisect ] | |
457f08a0 | 44 | [ \--bisect-vars ] |
3ac9f612 | 45 | [ \--bisect-all ] |
d249b455 | 46 | [ \--merge ] |
9c5e66e9 | 47 | [ \--reverse ] |
4d12a471 | 48 | [ \--walk-reflogs ] |
8e64006e | 49 | [ \--no-walk ] [ \--do-walk ] |
353ce815 | 50 | <commit>... [ \-- <paths>... ] |
2cf565c5 DG |
51 | |
52 | DESCRIPTION | |
53 | ----------- | |
8c02eee2 | 54 | |
1a3d834f JH |
55 | List commits that are reachable by following the `parent` links from the |
56 | given commit(s), but exclude commits that are reachable from the one(s) | |
57 | given with a '{caret}' in front of them. The output is given in reverse | |
58 | chronological order by default. | |
2cf565c5 | 59 | |
1a3d834f JH |
60 | You can think of this as a set operation. Commits given on the command |
61 | line form a set of commits that are reachable from any of them, and then | |
62 | commits reachable from any of the ones given with '{caret}' in front are | |
63 | subtracted from that set. The remaining commits are what comes out in the | |
64 | command's output. Various other options and paths parameters can be used | |
65 | to further limit the result. | |
66 | ||
67 | Thus, the following command: | |
8c02eee2 JF |
68 | |
69 | ----------------------------------------------------------------------- | |
b1889c36 | 70 | $ git rev-list foo bar ^baz |
8c02eee2 JF |
71 | ----------------------------------------------------------------------- |
72 | ||
1a3d834f JH |
73 | means "list all the commits which are reachable from 'foo' or 'bar', but |
74 | not from 'baz'". | |
adcd3512 | 75 | |
8c02eee2 JF |
76 | A special notation "'<commit1>'..'<commit2>'" can be used as a |
77 | short-hand for "{caret}'<commit1>' '<commit2>'". For example, either of | |
78 | the following may be used interchangeably: | |
69e0c256 | 79 | |
8c02eee2 | 80 | ----------------------------------------------------------------------- |
b1889c36 JN |
81 | $ git rev-list origin..HEAD |
82 | $ git rev-list HEAD ^origin | |
8c02eee2 JF |
83 | ----------------------------------------------------------------------- |
84 | ||
85 | Another special notation is "'<commit1>'...'<commit2>'" which is useful | |
86 | for merges. The resulting set of commits is the symmetric difference | |
0d2c9d67 RS |
87 | between the two operands. The following two commands are equivalent: |
88 | ||
8c02eee2 | 89 | ----------------------------------------------------------------------- |
b1889c36 JN |
90 | $ git rev-list A B --not $(git merge-base --all A B) |
91 | $ git rev-list A...B | |
8c02eee2 JF |
92 | ----------------------------------------------------------------------- |
93 | ||
57f6ec02 | 94 | 'rev-list' is a very essential git command, since it |
8c02eee2 JF |
95 | provides the ability to build and traverse commit ancestry graphs. For |
96 | this reason, it has a lot of different options that enables it to be | |
0b444cdb TR |
97 | used by commands as different as 'git bisect' and |
98 | 'git repack'. | |
69e0c256 | 99 | |
df8baa42 JF |
100 | OPTIONS |
101 | ------- | |
8c02eee2 | 102 | |
fdcf39e5 MV |
103 | :git-rev-list: 1 |
104 | include::rev-list-options.txt[] | |
331b51d2 JN |
105 | |
106 | include::pretty-formats.txt[] | |
107 | ||
108 | ||
2cf565c5 DG |
109 | Author |
110 | ------ | |
111 | Written by Linus Torvalds <torvalds@osdl.org> | |
112 | ||
113 | Documentation | |
114 | -------------- | |
8c02eee2 JF |
115 | Documentation by David Greaves, Junio C Hamano, Jonas Fonseca |
116 | and the git-list <git@vger.kernel.org>. | |
2cf565c5 DG |
117 | |
118 | GIT | |
119 | --- | |
9e1f0a85 | 120 | Part of the linkgit:git[1] suite |