git-cherry(1) - Linux man page
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'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
git-patch-id(1)
Author
Written by Junio C Hamano <gitster@pobox.com [1] >
Documentation
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org [2] >.
Git
Part of the git(1) suite