mirror of
https://github.com/git/git.git
synced 2024-11-05 16:52:59 +01:00
7791ecbc62
Usually you cannot revert a merge because you do not know which side of the merge should be considered the mainline (iow, what change to reverse). With this patch, cherry-pick and revert learn -m (--mainline) option that lets you specify the parent number (starting from 1) of the mainline, so that you can: git revert -m 1 $merge to reverse the changes introduced by the $merge commit relative to its first parent, and: git cherry-pick -m 2 $merge to replay the changes introduced by the $merge commit relative to its second parent. Signed-off-by: Junio C Hamano <gitster@pobox.com>
78 lines
2.4 KiB
Text
78 lines
2.4 KiB
Text
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 gitlink:git-rev-parse[1].
|
|
|
|
-e|--edit::
|
|
With this option, `git-cherry-pick` will let you edit the commit
|
|
message prior 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 gitlink:git[7] suite
|