git-p4: Fix regression in p4Where method.
[gitweb.git] / Documentation / git-cherry-pick.txt
index cd5b97d62cd42205044d90cd5f44ebe4f82a2b5d..b764130d26eb750d2b5173dcc98366828e413046 100644 (file)
@@ -1,14 +1,13 @@
 git-cherry-pick(1)
 ==================
-v0.99.5 Aug 2005
 
 NAME
 ----
-git-cherry-pick - Apply the change introduced by an existing commit.
+git-cherry-pick - Apply the change introduced by an existing commit
 
 SYNOPSIS
 --------
-'git-cherry-pick' [-n] [-r] <commit>
+'git cherry-pick' [--edit] [-n] [-m parent-number] [-s] [-x] <commit>
 
 DESCRIPTION
 -----------
@@ -20,32 +19,61 @@ OPTIONS
 -------
 <commit>::
        Commit to cherry-pick.
+       For a more complete list of ways to spell commits, see the
+       "SPECIFYING REVISIONS" section in linkgit:git-rev-parse[1].
+
+-e::
+--edit::
+       With this option, 'git-cherry-pick' will let you edit the commit
+       message prior to committing.
+
+-x::
+       When recording the commit, append to the original commit
+       message a note that indicates which commit this change
+       was cherry-picked from.  Append the note only for cherry
+       picks without conflicts.  Do not use this option if
+       you are cherry-picking from your private branch because
+       the information is useless to the recipient.  If on the
+       other hand you are cherry-picking between two publicly
+       visible branches (e.g. backporting a fix to a
+       maintenance branch for an older release from a
+       development branch), adding this information can be
+       useful.
 
 -r::
-       Usuall the command appends which commit was
-       cherry-picked after the original commit message when
-       making a commit.  This option, '--replay', causes it to
-       use the original commit message intact.  This is useful
-       when you are reordering the patches in your private tree
-       before publishing, and is used by 'git rebase'.
+       It used to be that the command defaulted to do `-x`
+       described above, and `-r` was to disable it.  Now the
+       default is not to do `-x` so this option is a no-op.
+
+-m parent-number::
+--mainline parent-number::
+       Usually you cannot cherry-pick a merge because you do not know which
+       side of the merge should be considered the mainline.  This
+       option specifies the parent number (starting from 1) of
+       the mainline and allows cherry-pick to replay the change
+       relative to the specified parent.
 
 -n::
-       Usually the command automatically creates a commit with
-       a commit log message stating which commit was
-       cherry-picked.  This flag applies the change necessary
-       to cherry-pick the named commit to your working tree,
+--no-commit::
+       Usually the command automatically creates a commit.
+       This flag applies the change necessary to cherry-pick
+       the named commit to your working tree and the index,
        but does not make the commit.  In addition, when this
-       option is used, your working tree does not have to match
-       the HEAD commit.  The cherry-pick is done against the
-       beginning state of your working tree.
+       option is used, your index does not have to match the
+       HEAD commit.  The cherry-pick is done against the
+       beginning state of your index.
 +
 This is useful when cherry-picking more than one commits'
-effect to your working tree in a row.
+effect to your index in a row.
+
+-s::
+--signoff::
+       Add Signed-off-by line at the end of the commit message.
 
 
 Author
 ------
-Written by Junio C Hamano <junkio@cox.net>
+Written by Junio C Hamano <gitster@pobox.com>
 
 Documentation
 --------------
@@ -53,5 +81,4 @@ Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
 
 GIT
 ---
-Part of the gitlink:git[7] suite
-
+Part of the linkgit:git[1] suite