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