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 linkgit:git-patch-id[1]
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.

<head>::
	Working branch; defaults to HEAD.

<limit>::
	Do not report commits up to (and including) limit.

SEE ALSO
--------
linkgit:git-patch-id[1]

Author
------
Written by Junio C Hamano <junkio@cox.net>

Documentation
--------------
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.

GIT
---
Part of the linkgit:git[1] suite
