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ón | Significado |
|---|---|
| -x | note the original hash in the new message |
| -n | apply and stage without committing |
| -e | edit the message |
| -m <parent> | pick a merge commit, choosing a side |
| <a>..<b> | a range; a itself is not included |
| --continue | go on after a conflict |
| --abort | undo the whole pick |
Ejemplos
git cherry-pick a1b2c3dcopies that commit onto the current branch with a new hash
git cherry-pick -x a1b2c3dsame, with the source hash recorded in the message
git cherry-pick a1b2c3d^..d4e5f6acopies 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