Next: , Previous: , Up: Manipulating   [Contents][Index]


6.10 Cherry Picking

Also see the git-cherry-pick(1) manpage.

A     (magit-cherry-pick)

This transient prefix command binds the following suffix commands along with the appropriate infix arguments and displays them in a temporary buffer until a suffix is invoked.

When no cherry-pick or revert is in progress, then the transient features the following suffix commands.

A A     (magit-cherry-copy)

This command copies COMMITS from another branch onto the current branch. If the region selects multiple commits, then those are copied, without prompting. Otherwise the user is prompted for a commit or range, defaulting to the commit at point.

A a     (magit-cherry-apply)

This command applies the changes in COMMITS from another branch onto the current branch. If the region selects multiple commits, then those are used, without prompting. Otherwise the user is prompted for a commit or range, defaulting to the commit at point.

This command also has a top-level binding, which can be invoked without using the transient by typing a at the top-level.

The following commands not only apply some commits to some branch, but also remove them from some other branch. The removal is performed using either git-update-ref or if necessary git-rebase. Both applying commits as well as removing them using git-rebase can lead to conflicts. If that happens, then these commands abort and you not only have to resolve the conflicts but also finish the process the same way you would have to if these commands didn’t exist at all.

A h     (magit-cherry-harvest)

This command moves the selected COMMITS that must be located on another BRANCH onto the current branch instead, removing them from the former. When this command succeeds, then the same branch is current as before.

Applying the commits on the current branch or removing them from the other branch can lead to conflicts. When that happens, then this command stops and you have to resolve the conflicts and then finish the process manually.

A d     (magit-cherry-donate)

This command moves the selected COMMITS from the current branch onto another existing BRANCH, removing them from the former. When this command succeeds, then the same branch is current as before.

Applying the commits on the other branch or removing them from the current branch can lead to conflicts. When that happens, then this command stops and you have to resolve the conflicts and then finish the process manually.

A n     (magit-cherry-spinout)

This command moves the selected COMMITS from the current branch onto a new branch BRANCH, removing them from the former. When this command succeeds, then the same branch is current as before.

Applying the commits on the other branch or removing them from the current branch can lead to conflicts. When that happens, then this command stops and you have to resolve the conflicts and then finish the process manually.

A s     (magit-cherry-spinoff)

This command moves the selected COMMITS from the current branch onto a new branch BRANCH, removing them from the former. When this command succeeds, then the new branch is checked out.

Applying the commits on the other branch or removing them from the current branch can lead to conflicts. When that happens, then this command stops and you have to resolve the conflicts and then finish the process manually.

When a cherry-pick or revert is in progress, then the transient instead features the following suffix commands.

A A     (magit-sequence-continue)

Resume the current cherry-pick or revert sequence.

A s     (magit-sequence-skip)

Skip the stopped at commit during a cherry-pick or revert sequence.

A a     (magit-sequence-abort)

Abort the current cherry-pick or revert sequence. This discards all changes made since the sequence started.


Next: , Previous: , Up: Manipulating   [Contents][Index]