git-cherry(1) ============= NAME ---- git-cherry - Find commits not merged upstream SYNOPSIS -------- [verse] 'git cherry' [-v] [<upstream> [<head> [<limit>]]] DESCRIPTION ----------- The changeset (or "diff") of each commit between the fork-point and <head> is compared against each commit between the fork-point and <upstream>. The commits are compared with their 'patch id', obtained from the 'git patch-id' program. Every commit that doesn't exist in the <upstream> branch has its id (sha1) reported, prefixed by a symbol. The ones that have equivalent change already in the <upstream> branch are prefixed with a minus (-) sign, and those that only exist in the <head> branch are prefixed with a plus (+) symbol: __*__*__*__*__> <upstream> / fork-point \__+__+__-__+__+__-__+__> <head> If a <limit> has been given then the commits along the <head> branch up to and including <limit> are not reported: __*__*__*__*__> <upstream> / fork-point \__*__*__<limit>__-__+__> <head> Because 'git cherry' compares the changeset rather than the commit id (sha1), you can use 'git cherry' to find out if a commit you made locally has been applied <upstream> under a different commit id. For example, this will happen if you're feeding patches <upstream> via email rather than pushing or pulling commits directly. OPTIONS ------- -v:: Verbose. <upstream>:: Upstream branch to compare against. Defaults to the first tracked remote branch, if available. <head>:: Working branch; defaults to HEAD. <limit>:: Do not report commits up to (and including) limit. SEE ALSO -------- linkgit:git-patch-id[1] GIT --- Part of the linkgit:git[1] suite