El comando git cherry pick nos permite aplicar un número determinado de commits de una rama a otra, sin tener que fusionar toda la rama.
Esto se entiende mejor con un caso de uso:
- Se crea una rama llamada fix a partir de master, con el objetivo de corregir un error en el código.
- Se realizan varios commits en la rama fix, cada uno de ellos solucionando un error diferente.
- Se decide que sólo se quiere aplicar el commit que soluciona el error A sobre master, pero no los demás.
- Se hace checkout a master y se usa el comando
git cherry-pick
seguido del ID del commit que contiene la solución para el error A. - El commit se aplica sobre master y se actualiza el código de la rama principal con la solución para el error A.
Diagrama
Otras formas de utilizarlo
Sintaxis | Descripción | |
---|---|---|
git cherry-pick <commit> |
Aplica el commit especificado en la rama actual | |
git cherry-pick <commit1> <commit2> |
Aplica el commit especificado en la rama actual y el siguiente commit | |
git cherry-pick <hash1>..<hash2> |
Aplica todos los commits entre los dos hashes especificados (inclusive) en la rama actual | |
git cherry-pick -x <commit> |
Aplica el commit especificado en la rama actual y añade una línea al commit message indicando el commit original |