Inicio·Comandos de terminal

git cherry-pick

git

Uso

git cherry-pick [-x] <commit>...

Copia un solo commit a la rama actual como un commit nuevo con otro hash, por lo que al fusionar esa rama luego el mismo cambio puede aparecer dos veces.

Opciones habituales

OpciónSignificado
-xnote the original hash in the new message
-napply and stage without committing
-eedit the message
-m <parent>pick a merge commit, choosing a side
<a>..<b>a range; a itself is not included
--continuego on after a conflict
--abortundo the whole pick

Ejemplos

git cherry-pick a1b2c3d

copies that commit onto the current branch with a new hash

git cherry-pick -x a1b2c3d

same, with the source hash recorded in the message

git cherry-pick a1b2c3d^..d4e5f6a

copies a range, this time including a1b2c3d

Lo confuso es que deshacer tiene varias formas: mover a dónde apunta una rama no es lo mismo que añadir un commit que la revierte.

Cómo leerlo

  • Los corchetes [ ] marcan una parte que puedes omitir.
  • Los puntos suspensivos … indican que puedes poner varios.
  • Las opciones distinguen mayúsculas: en algunos comandos -r y -R no hacen lo mismo.

Preguntas

Q. ¿Qué hace git cherry-pick?

Copia un solo commit a la rama actual como un commit nuevo con otro hash, por lo que al fusionar esa rama luego el mismo cambio puede aparecer dos veces.

Q. ¿Cómo se escribe?

git cherry-pick [-x] <commit>... — los corchetes marcan lo que puedes omitir.

Q. ¿Cuántas opciones vale la pena saber?

Aquí van 7; la lista completa está en man git. Este comando está en git.

Comandos relacionados

página man: man git-cherry-pick