6 git-cherry - Find commits not merged upstream
10 'git-cherry' [-v] <upstream> [<head>] [<limit>]
14 The changeset (or "diff") of each commit between the fork-point and <head>
15 is compared against each commit between the fork-point and <upstream>.
16 The commits are compared with their 'patch id', obtained from linkgit:git-patch-id[1]
19 Every commit that doesn't exist in the <upstream> branch
20 has its id (sha1) reported, prefixed by a symbol. The ones that have
21 equivalent change already
22 in the <upstream> branch are prefixed with a minus (-) sign, and those
23 that only exist in the <head> branch are prefixed with a plus (+) symbol:
25 __*__*__*__*__> <upstream>
28 \__+__+__-__+__+__-__+__> <head>
31 If a <limit> has been given then the commits along the <head> branch up
32 to and including <limit> are not reported:
34 __*__*__*__*__> <upstream>
37 \__*__*__<limit>__-__+__> <head>
40 Because git-cherry compares the changeset rather than the commit id
41 (sha1), you can use git-cherry to find out if a commit you made locally
42 has been applied <upstream> under a different commit id. For example,
43 this will happen if you're feeding patches <upstream> via email rather
44 than pushing or pulling commits directly.
53 Upstream branch to compare against.
56 Working branch; defaults to HEAD.
59 Do not report commits up to (and including) limit.
63 linkgit:git-patch-id[1]
67 Written by Junio C Hamano <junkio@cox.net>
71 Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
75 Part of the linkgit:git[1] suite