GIT-CHERRY(1)                                                    GIT-CHERRY(1)



NAME
       git-cherry - Find commits not merged upstream

SYNOPSIS
       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&#8217;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&#8217;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
       git-patch-id(1)


GIT
       Part of the git(1) suite




                                                                 GIT-CHERRY(1)
