@@ -3,24 +3,28 @@ git-cherry-pick(1)
3
3
4
4
NAME
5
5
----
6
- git-cherry-pick - Apply the change introduced by an existing commit
6
+ git-cherry-pick - Apply the changes introduced by some existing commits
7
7
8
8
SYNOPSIS
9
9
--------
10
- 'git cherry-pick' [--edit] [-n] [-m parent-number] [-s] [-x] [--ff] <commit>
10
+ 'git cherry-pick' [--edit] [-n] [-m parent-number] [-s] [-x] [--ff] <commit>...
11
11
12
12
DESCRIPTION
13
13
-----------
14
- Given one existing commit, apply the change the patch introduces, and record a
15
- new commit that records it. This requires your working tree to be clean (no
16
- modifications from the HEAD commit).
14
+
15
+ Given one or more existing commits, apply the change each one
16
+ introduces, recording a new commit for each. This requires your
17
+ working tree to be clean (no modifications from the HEAD commit).
17
18
18
19
OPTIONS
19
20
-------
20
- <commit>::
21
- Commit to cherry-pick.
21
+ <commit>... ::
22
+ Commits to cherry-pick.
22
23
For a more complete list of ways to spell commits, see the
23
24
"SPECIFYING REVISIONS" section in linkgit:git-rev-parse[1].
25
+ Sets of commits can be passed but no traversal is done by
26
+ default, as if the '--no-walk' option was specified, see
27
+ linkgit:git-rev-list[1].
24
28
25
29
-e::
26
30
--edit::
@@ -55,10 +59,10 @@ OPTIONS
55
59
56
60
-n::
57
61
--no-commit::
58
- Usually the command automatically creates a commit .
59
- This flag applies the change necessary to cherry-pick
60
- the named commit to your working tree and the index,
61
- but does not make the commit. In addition, when this
62
+ Usually the command automatically creates a sequence of commits .
63
+ This flag applies the changes necessary to cherry-pick
64
+ each named commit to your working tree and the index,
65
+ without making any commit. In addition, when this
62
66
option is used, your index does not have to match the
63
67
HEAD commit. The cherry-pick is done against the
64
68
beginning state of your index.
@@ -75,6 +79,40 @@ effect to your index in a row.
75
79
cherry-pick'ed commit, then a fast forward to this commit will
76
80
be performed.
77
81
82
+ EXAMPLES
83
+ --------
84
+ git cherry-pick master::
85
+
86
+ Apply the change introduced by the commit at the tip of the
87
+ master branch and create a new commit with this change.
88
+
89
+ git cherry-pick ..master::
90
+ git cherry-pick ^HEAD master::
91
+
92
+ Apply the changes introduced by all commits that are ancestors
93
+ of master but not of HEAD to produce new commits.
94
+
95
+ git cherry-pick master\~4 master~2::
96
+
97
+ Apply the changes introduced by the fifth and third last
98
+ commits pointed to by master and create 2 new commits with
99
+ these changes.
100
+
101
+ git cherry-pick -n master~1 next::
102
+
103
+ Apply to the working tree and the index the changes introduced
104
+ by the second last commit pointed to by master and by the last
105
+ commit pointed to by next, but do not create any commit with
106
+ these changes.
107
+
108
+ git cherry-pick --ff ..next::
109
+
110
+ If history is linear and HEAD is an ancestor of next, update
111
+ the working tree and advance the HEAD pointer to match next.
112
+ Otherwise, apply the changes introduced by those commits that
113
+ are in next but not HEAD to the current branch, creating a new
114
+ commit for each new change.
115
+
78
116
Author
79
117
------
80
118
Written by Junio C Hamano <
[email protected] >
@@ -83,6 +121,10 @@ Documentation
83
121
--------------
84
122
Documentation by Junio C Hamano and the git-list <
[email protected] >.
85
123
124
+ SEE ALSO
125
+ --------
126
+ linkgit:git-revert[1]
127
+
86
128
GIT
87
129
---
88
130
Part of the linkgit:git[1] suite
0 commit comments