Cuando usas cherry-pick lo que haces es copiar un commit de una rama a la otra rama.
Como cuando haces un merge.
La diferencia es que, para el historial de git ese commit aparecerá como si la rama que lo copio fuese quien creara ese commit.
Palabras simples. Le está quitando el crédito a la otra rama 😂
El alterar el flujo de la historia en git es lo que se considera mala práctica.
Lo otro es que se genera conflicto por que aparece duplicado. Pero solo es arreglar el conflicto.
Un caso en el que se podría usar cherry-pick:
Tienes 2 ramas
• Header
• Footer
En footer modificaste algo de la sección header y guardaste el commit.
Pero lo que queremos es que solo la rama header tenga los cambios de esa sección.
Entonces usaríamos el comando para enviar esos cambios y listo.