Junior
¿Qué es cherry-pick?
sobes.tech AI
Respuesta de la IA
git cherry-pick se utiliza para transferir uno o varios commits de una rama a otra.
Principio de funcionamiento:
- Selecciona el commit (o commits) especificado en la rama de origen.
- Aplica los cambios contenidos en estos commits a la rama activa actual.
- Crea nuevos commits en la rama actual con los mismos cambios y mensajes que los originales.
Cuándo usar:
- Transferir una corrección específica de error de una rama (por ejemplo, producción) a otra (por ejemplo, desarrollo), sin afectar otros cambios.
- Aplicar cambios de una rama de características a otra, sin fusionarlas completamente.
- Cancelar fusiones incorrectas conservando los commits individuales.
Diferencias con merge y rebase:
merge: Une toda la historia de cambios de una rama en otra.rebase: Reescribe la historia de commits, moviéndolos a una nueva base.cherry-pick: Aplica solo los commits seleccionados, creando nuevos y sin modificar la historia de los commits originales.
Comando principal:
# Transferir un commit
git cherry-pick <commit-hash>
# Transferir varios commits (en orden de su indicación)
git cherry-pick <commit-hash-1> <commit-hash-2> ...
Ejemplo:
Supongamos que hay dos ramas: main y feature. En la rama feature se hizo un commit fix-typo. Es necesario transferir este commit a la rama main.
# Cambiar a la rama de destino
git checkout main
# Ejecutar cherry-pick usando el hash del commit de la rama feature
git cherry-pick 7f3bca2 # Ejemplo de hash de commit
Después de ejecutar el comando, en la rama main aparecerá un nuevo commit con los mismos cambios que fix-typo, pero con un hash diferente.