This shows you the differences between two versions of the page.
git_rev_list [2017/09/08 08:56] rpjday created |
git_rev_list [2017/09/08 08:58] rpjday |
||
---|---|---|---|
Line 56: | Line 56: | ||
[ --use-bitmap-index ] | [ --use-bitmap-index ] | ||
<commit>... [ -- <paths>... ] | <commit>... [ -- <paths>... ] | ||
+ | </code> | ||
+ | |||
+ | === DESCRIPTION === | ||
+ | |||
+ | <code> | ||
+ | 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 ^ 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 ^ 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". | ||
+ | </code> | ||
+ | |||
+ | === Trivial examples === | ||
+ | |||
+ | <code> | ||
+ | $ git rev-list --author="Robert P. J. Day" HEAD | ||
+ | $ git rev-list --author="P. J." HEAD | ||
+ | $ git rev-list --author="P. J." --pretty HEAD | ||
</code> | </code> | ||