|
git-cherry − Find commits not merged upstream |
|
git cherry [−v] [<upstream> [<head> [<limit>]]] |
|
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. |
|
−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. |
|
git-patch-id(1) |
|
Written by Junio C Hamano <gitster@pobox.com [1] > |
|
Documentation by Junio C Hamano and the git−list <git@vger.kernel.org [2] >. |
|
Part of the git(1) suite |
|
1. |
gitster@pobox.com |
|
mailto:gitster@pobox.com |
|
2. |
git@vger.kernel.org |
|
mailto:git@vger.kernel.org |