GIT\-CHERRY

Section: Git Manual (1)
Updated: 10/30/2009
Index Return to Main Contents
 

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 doesncqt 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 youcqre 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)  

AUTHOR

Written by Junio C Hamano <m[blue]gitster@pobox.comm[][1]>  

DOCUMENTATION

Documentation by Junio C Hamano and the git-list <m[blue]git@vger.kernel.orgm[][2]>.  

GIT

Part of the git(1) suite  

NOTES

1.
gitster@pobox.com
mailto:gitster@pobox.com
2.
git@vger.kernel.org
mailto:git@vger.kernel.org