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

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

SYNOPSIS
--------
'git-cherry-pick' [--edit] [-n] [-r] <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.

-e|--edit::
	With this option, `git-cherry-pick` will let you edit the commit
	message prior committing.

-r|--replay::
	Usually 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.

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

