| git-cherry(1) |
| ============= |
| |
| NAME |
| ---- |
| git-cherry - Find commits not merged upstream |
| |
| SYNOPSIS |
| -------- |
| [verse] |
| '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 |
| -------- |
| linkgit:git-patch-id[1] |
| |
| GIT |
| --- |
| Part of the linkgit:git[1] suite |