summaryrefslogtreecommitdiff
path: root/Documentation/git-cherry.txt
blob: 8c7d9670d3b31353cd0b5a9bc76e63f7a4a7d7a1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
git-cherry(1)
=============

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>.

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.

<head>::
	Working branch; defaults to HEAD.

<limit>::
	Do not report commits up to (and including) limit.

Author
------
Written by Junio C Hamano <junkio@cox.net>

Documentation
--------------
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.

GIT
---
Part of the gitlink:git[7] suite