1git-cherry(1) 2============= 3 4NAME 5---- 6git-cherry - Find commits not merged upstream 7 8SYNOPSIS 9-------- 10'git cherry' [-v] [<upstream> [<head> [<limit>]]] 11 12DESCRIPTION 13----------- 14The changeset (or "diff") of each commit between the fork-point and <head> 15is compared against each commit between the fork-point and <upstream>. 16The commits are compared with their 'patch id', obtained from 17the 'git patch-id' program. 18 19Every commit that doesn't exist in the <upstream> branch 20has its id (sha1) reported, prefixed by a symbol. The ones that have 21equivalent change already 22in the <upstream> branch are prefixed with a minus (-) sign, and those 23that only exist in the <head> branch are prefixed with a plus (+) symbol: 24 25 __*__*__*__*__> <upstream> 26 / 27 fork-point 28 \__+__+__-__+__+__-__+__> <head> 29 30 31If a <limit> has been given then the commits along the <head> branch up 32to and including <limit> are not reported: 33 34 __*__*__*__*__> <upstream> 35 / 36 fork-point 37 \__*__*__<limit>__-__+__> <head> 38 39 40Because '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 42has been applied <upstream> under a different commit id. For example, 43this will happen if you're feeding patches <upstream> via email rather 44than pushing or pulling commits directly. 45 46 47OPTIONS 48------- 49-v:: 50 Verbose. 51 52<upstream>:: 53 Upstream branch to compare against. 54 Defaults to the first tracked remote branch, if available. 55 56<head>:: 57 Working branch; defaults to HEAD. 58 59<limit>:: 60 Do not report commits up to (and including) limit. 61 62SEE ALSO 63-------- 64linkgit:git-patch-id[1] 65 66GIT 67--- 68Part of the linkgit:git[1] suite