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>. 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.

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 git(7) suite