Menu
Coddy logo textTech

Git Cherry-pick

Última actualización

git cherry-pick copia los cambios de uno o varios commits concretos y los aplica sobre tu rama actual como commits nuevos. Es la forma de tomar una sola corrección de otra rama sin fusionar toda esa rama: útil para retroportar un hotfix o sacar un commit de una rama de funcionalidad.

Prueba estos comandos en el terminal playground: un shell real en tu navegador, sin nada que instalar.

Sintaxis

CommandWhat it does
git cherry-pick <hash>Aplica un commit sobre la rama actual
git cherry-pick <a> <b>Aplica varios commits en orden
git cherry-pick <a>..<b>Aplica un rango de commits (excluyendo a)
git cherry-pick -n <hash>Aplica los cambios pero aún no confirma
git cherry-pick -x <hash>Anota el commit original en el mensaje

Durante un cherry-pick

Si un cherry-pick provoca un conflicto, resuélvelo y continúa.

CommandWhat it does
git cherry-pick --continueReanuda tras resolver los conflictos
git cherry-pick --abortCancela y restaura la rama
git cherry-pick --skipOmite el commit actual

Preguntas frecuentes sobre git cherry-pick

¿Qué hace git cherry-pick?
Toma los cambios introducidos por un commit concreto y los aplica sobre tu rama actual como un commit totalmente nuevo (con un nuevo hash). A diferencia de merge o rebase, no trae toda una rama: solo el commit o los commits que indiques.
¿Cuándo debería usar cherry-pick?
Úsalo cuando necesites un commit concreto en otro lugar; por ejemplo, para retroportar una corrección de errores de main a una rama de release, o para extraer un único commit útil de una rama de funcionalidad sin fusionarlo todo. Si quieres la rama entera, usa merge o rebase.
¿Cómo aplico varios commits con cherry-pick?
Enuméralos: git cherry-pick <a> <b> <c> aplica cada uno en orden. Para un rango contiguo usa git cherry-pick <start>..<end>, que aplica todos los commits posteriores a start hasta end inclusive. Añade <start>^..<end> si quieres incluir también start.
¿Qué pasa si un cherry-pick provoca un conflicto?
Git se detiene y marca los archivos en conflicto. Resuélvelos, haz git add de los resultados y luego ejecuta git cherry-pick --continue. Para deshacerlo por completo, usa git cherry-pick --abort, que restaura tu rama al estado anterior al inicio del cherry-pick.
¿Puedo practicar esto en línea?
Sí. Abre el terminal playground para ejecutar git cherry-pick en un shell real en tu navegador, sin nada que instalar. El curso interactivo y gratuito de Git de Coddy también cubre cómo mover commits entre ramas paso a paso.
Coddy programming languages illustration

Aprende Git con Coddy

COMENZAR