@matheusbsbs / matheus-bagliano / commits / 89d32d33ae
Fork 0

Documentation/cherry-pick: describe passing more than one commit

And while at it, add an "EXAMPLES" section. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Christian Couder committed Jun 2, 2010 at 07:58 UTC 89d32d33ae562afa789a7723de8d853364101610
1 file changed +53 -11
Documentation/git-cherry-pick.txt
+53 -11
@@ -3,24 +3,28 @@ git-cherry-pick(1)
3
4 NAME
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
8 SYNOPSIS
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
12 DESCRIPTION
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).
18
19 OPTIONS
20 -------
20 -<commit>::
21 - Commit to cherry-pick.
21 +<commit>...::
22 + Commits to cherry-pick.
23 For a more complete list of ways to spell commits, see the
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].
28
29 -e::
30 --edit::
@@ -55,10 +59,10 @@ OPTIONS
59
60 -n::
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
66 option is used, your index does not have to match the
67 HEAD commit. The cherry-pick is done against the
68 beginning state of your index.
@@ -75,6 +79,40 @@ effect to your index in a row.
79 cherry-pick'ed commit, then a fast forward to this commit will
80 be performed.
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 +
116 Author
117 ------
118 Written by Junio C Hamano <gitster@pobox.com>
@@ -83,6 +121,10 @@ Documentation
121 --------------
122 Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
123
124 +SEE ALSO
125 +--------
126 +linkgit:git-revert[1]
127 +
128 GIT
129 ---
130 Part of the linkgit:git[1] suite