Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 1 | git-cherry(1) |
| 2 | ============= |
| 3 | |
| 4 | NAME |
| 5 | ---- |
Junio C Hamano | 0107892 | 2006-03-10 00:31:47 | [diff] [blame] | 6 | git-cherry - Find commits not merged upstream |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 7 | |
| 8 | SYNOPSIS |
| 9 | -------- |
Junio C Hamano | a053d54 | 2006-10-27 09:29:13 | [diff] [blame] | 10 | 'git-cherry' [-v] <upstream> [<head>] [<limit>] |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 11 | |
| 12 | DESCRIPTION |
| 13 | ----------- |
Junio C Hamano | 1bb569e | 2006-05-05 23:14:25 | [diff] [blame] | 14 | The changeset (or "diff") of each commit between the fork-point and <head> |
| 15 | is compared against each commit between the fork-point and <upstream>. |
| 16 | |
Junio C Hamano | ff4b431 | 2006-10-25 22:55:31 | [diff] [blame] | 17 | Every commit that doesn't exist in the <upstream> branch |
| 18 | has its id (sha1) reported, prefixed by a symbol. The ones that have |
| 19 | equivalent change already |
Junio C Hamano | 1bb569e | 2006-05-05 23:14:25 | [diff] [blame] | 20 | in the <upstream> branch are prefixed with a minus (-) sign, and those |
Junio C Hamano | a053d54 | 2006-10-27 09:29:13 | [diff] [blame] | 21 | that only exist in the <head> branch are prefixed with a plus (+) symbol: |
| 22 | |
| 23 | __*__*__*__*__> <upstream> |
| 24 | / |
| 25 | fork-point |
| 26 | \__+__+__-__+__+__-__+__> <head> |
| 27 | |
| 28 | |
| 29 | If a <limit> has been given then the commits along the <head> branch up |
| 30 | to and including <limit> are not reported: |
| 31 | |
| 32 | __*__*__*__*__> <upstream> |
| 33 | / |
| 34 | fork-point |
| 35 | \__*__*__<limit>__-__+__> <head> |
| 36 | |
Junio C Hamano | 1bb569e | 2006-05-05 23:14:25 | [diff] [blame] | 37 | |
| 38 | Because git-cherry compares the changeset rather than the commit id |
| 39 | (sha1), you can use git-cherry to find out if a commit you made locally |
| 40 | has been applied <upstream> under a different commit id. For example, |
| 41 | this will happen if you're feeding patches <upstream> via email rather |
| 42 | than pushing or pulling commits directly. |
| 43 | |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 44 | |
| 45 | OPTIONS |
| 46 | ------- |
| 47 | -v:: |
| 48 | Verbose. |
| 49 | |
| 50 | <upstream>:: |
| 51 | Upstream branch to compare against. |
| 52 | |
| 53 | <head>:: |
| 54 | Working branch; defaults to HEAD. |
| 55 | |
Junio C Hamano | 16f9887 | 2007-06-12 16:09:14 | [diff] [blame] | 56 | <limit>:: |
| 57 | Do not report commits up to (and including) limit. |
| 58 | |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 59 | Author |
| 60 | ------ |
| 61 | Written by Junio C Hamano <junkio@cox.net> |
| 62 | |
| 63 | Documentation |
| 64 | -------------- |
| 65 | Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>. |
| 66 | |
| 67 | GIT |
| 68 | --- |
Junio C Hamano | 35738e8 | 2008-01-07 07:55:46 | [diff] [blame] | 69 | Part of the linkgit:git[7] suite |