]>
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] |
1c262bb7 JK |
12 | 'git rev-list' [ --max-count=<number> ] |
13 | [ --skip=<number> ] | |
14 | [ --max-age=<timestamp> ] | |
15 | [ --min-age=<timestamp> ] | |
16 | [ --sparse ] | |
17 | [ --merges ] | |
18 | [ --no-merges ] | |
19 | [ --min-parents=<number> ] | |
20 | [ --no-min-parents ] | |
21 | [ --max-parents=<number> ] | |
22 | [ --no-max-parents ] | |
23 | [ --first-parent ] | |
24 | [ --remove-empty ] | |
25 | [ --full-history ] | |
26 | [ --not ] | |
27 | [ --all ] | |
28 | [ --branches[=<pattern>] ] | |
29 | [ --tags[=<pattern>] ] | |
30 | [ --remotes[=<pattern>] ] | |
31 | [ --glob=<glob-pattern> ] | |
32 | [ --ignore-missing ] | |
33 | [ --stdin ] | |
34 | [ --quiet ] | |
35 | [ --topo-order ] | |
36 | [ --parents ] | |
37 | [ --timestamp ] | |
38 | [ --left-right ] | |
39 | [ --left-only ] | |
40 | [ --right-only ] | |
41 | [ --cherry-mark ] | |
42 | [ --cherry-pick ] | |
43 | [ --encoding=<encoding> ] | |
44 | [ --(author|committer|grep)=<pattern> ] | |
45 | [ --regexp-ignore-case | -i ] | |
46 | [ --extended-regexp | -E ] | |
47 | [ --fixed-strings | -F ] | |
4b1c5e1d | 48 | [ --date=<format>] |
1c262bb7 | 49 | [ [ --objects | --objects-edge | --objects-edge-aggressive ] |
caf3827e JH |
50 | [ --unpacked ] |
51 | [ --filter=<filter-spec> [ --filter-print-omitted ] ] ] | |
52 | [ --missing=<missing-action> ] | |
1c262bb7 JK |
53 | [ --pretty | --header ] |
54 | [ --bisect ] | |
55 | [ --bisect-vars ] | |
56 | [ --bisect-all ] | |
57 | [ --merge ] | |
58 | [ --reverse ] | |
59 | [ --walk-reflogs ] | |
60 | [ --no-walk ] [ --do-walk ] | |
75d2e5a7 | 61 | [ --count ] |
1c262bb7 | 62 | [ --use-bitmap-index ] |
353ce815 | 63 | <commit>... [ \-- <paths>... ] |
2cf565c5 DG |
64 | |
65 | DESCRIPTION | |
66 | ----------- | |
8c02eee2 | 67 | |
1a3d834f JH |
68 | List commits that are reachable by following the `parent` links from the |
69 | given commit(s), but exclude commits that are reachable from the one(s) | |
70 | given with a '{caret}' in front of them. The output is given in reverse | |
71 | chronological order by default. | |
2cf565c5 | 72 | |
1a3d834f JH |
73 | You can think of this as a set operation. Commits given on the command |
74 | line form a set of commits that are reachable from any of them, and then | |
75 | commits reachable from any of the ones given with '{caret}' in front are | |
76 | subtracted from that set. The remaining commits are what comes out in the | |
77 | command's output. Various other options and paths parameters can be used | |
78 | to further limit the result. | |
79 | ||
80 | Thus, the following command: | |
8c02eee2 JF |
81 | |
82 | ----------------------------------------------------------------------- | |
b1889c36 | 83 | $ git rev-list foo bar ^baz |
8c02eee2 JF |
84 | ----------------------------------------------------------------------- |
85 | ||
1a3d834f JH |
86 | means "list all the commits which are reachable from 'foo' or 'bar', but |
87 | not from 'baz'". | |
adcd3512 | 88 | |
8c02eee2 JF |
89 | A special notation "'<commit1>'..'<commit2>'" can be used as a |
90 | short-hand for "{caret}'<commit1>' '<commit2>'". For example, either of | |
91 | the following may be used interchangeably: | |
69e0c256 | 92 | |
8c02eee2 | 93 | ----------------------------------------------------------------------- |
b1889c36 JN |
94 | $ git rev-list origin..HEAD |
95 | $ git rev-list HEAD ^origin | |
8c02eee2 JF |
96 | ----------------------------------------------------------------------- |
97 | ||
98 | Another special notation is "'<commit1>'...'<commit2>'" which is useful | |
99 | for merges. The resulting set of commits is the symmetric difference | |
0d2c9d67 RS |
100 | between the two operands. The following two commands are equivalent: |
101 | ||
8c02eee2 | 102 | ----------------------------------------------------------------------- |
b1889c36 JN |
103 | $ git rev-list A B --not $(git merge-base --all A B) |
104 | $ git rev-list A...B | |
8c02eee2 JF |
105 | ----------------------------------------------------------------------- |
106 | ||
2de9b711 | 107 | 'rev-list' is a very essential Git command, since it |
8c02eee2 JF |
108 | provides the ability to build and traverse commit ancestry graphs. For |
109 | this reason, it has a lot of different options that enables it to be | |
0b444cdb TR |
110 | used by commands as different as 'git bisect' and |
111 | 'git repack'. | |
69e0c256 | 112 | |
df8baa42 JF |
113 | OPTIONS |
114 | ------- | |
8c02eee2 | 115 | |
fdcf39e5 MV |
116 | :git-rev-list: 1 |
117 | include::rev-list-options.txt[] | |
331b51d2 JN |
118 | |
119 | include::pretty-formats.txt[] | |
120 | ||
2cf565c5 DG |
121 | GIT |
122 | --- | |
9e1f0a85 | 123 | Part of the linkgit:git[1] suite |