Git Cherry-Pick

1 min

Tabla de contenidos

  1. ¿Qué es cherry-pick?
  2. Práctica rápida
  3. Escenario de uso
  4. Comandos esenciales

1. ¿Qué es cherry-pick?

Git cherry-pick = copiar UN commit concreto de una rama a otra.

Ejemplo concreto:

  • En feature-login: commit de corrección de un bug crítico
  • En main: quieres SOLO esa corrección, no toda la rama
  • Solución: git cherry-pick <commit-hash>

Volver a la tabla de contenidos

2. Práctica rápida

Creación del proyecto:

bash
mkdir demo-cherry-pick && cd demo-cherry-pick
git init

echo "print('v1')" > app.py
git add . && git commit -m "Versión inicial"

# Crear la rama feature
git checkout -b feature-new
echo "print('v2-feature')" > app.py  
git add . && git commit -m "Nueva funcionalidad"

echo "print('v2-bugfix')" > app.py
git add . && git commit -m "Fix critique"

# Volver a main y hacer cherry-pick SOLO del bugfix
git checkout main
git cherry-pick <hash-du-commit-bugfix>

Listo. El arreglo está en main, sin la funcionalidad.

Volver a la tabla de contenidos

3. Escenario de uso

Situación típica:

  1. Desarrollo en feature-branch
  2. Bug crítico detectado y corregido
  3. Producción (main) necesita el arreglo YA
  4. Pero no toda la feature en desarrollo

Solución:

bash
git log --oneline feature-branch    # Encontrar el hash del arreglo
git checkout main
git cherry-pick abc123f             # Aplicar SOLO ese commit

Volver a la tabla de contenidos

4. Comandos esenciales

ComandoAcción
git cherry-pick <hash>Copiar un commit
git cherry-pick <hash1> <hash2>Copiar varios commits
git cherry-pick --continueContinuar tras resolver un conflicto
git cherry-pick --abortCancelar la operación

¡Eso es todo! Cherry-pick es simple: 1 commit → 1 copia.

Volver a la tabla de contenidos