git-cherry-pick(1)
==================

NAME
----
git-cherry-pick - Apply the change introduced by an existing commit

SYNOPSIS
--------
'git-cherry-pick' [--edit] [-n] [-m parent-number] [-x] <commit>

DESCRIPTION
-----------
Given one existing commit, apply the change the patch introduces, and record a
new commit that records it.  This requires your working tree to be clean (no
modifications from the HEAD commit).

OPTIONS
-------
<commit>::
	Commit to cherry-pick.
	For a more complete list of ways to spell commits, see
	"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::
	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 revert 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|--no-commit::
	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,
	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.
+
This is useful when cherry-picking more than one commits'
effect to your working tree in a row.


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 linkgit:git[7] suite
