Cherry-picking de commits
Comprenda cómo aplicar selectivamente commits individuales de una rama en otra mediante `git cherry-pick`.
Cherry-picking de commits es una lección gratuita de Git & GitHub Professional Workflow en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Git & GitHub Professional Workflow, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Git & GitHub Professional Workflow incluye 4 lecciones en total.
Mover confirmaciones de forma selectiva
¿Qué ocurre si solo necesita un cambio específico de una rama y no la rama completa? git cherry-pick le permite aplicar una única confirmación, desde cualquier parte del historial de su repositorio, directamente a su rama actual.
¡Es como recoger una sola cereza de un árbol! Esto crea una confirmación completamente nueva en su rama actual que duplica los cambios de la original.
Cuándo usar cherry-pick
Imagine que trabaja en una rama de funcionalidad grande y descubre que una corrección de un error crítico que realizó allí también se necesita ahora mismo en su rama principal de producción. Todavía no desea fusionar toda la rama de funcionalidad.
Este es un escenario perfecto para usar cherry-pick. Le ayuda a trasladar cambios aislados sin incluir trabajo no relacionado.
El comando básico
El comando fundamental es sencillo: git cherry-pick <commit-hash>.
- Primero, asegúrese de estar en la rama donde desea aplicar la confirmación.
- Después, necesitará el identificador único (hash) de la confirmación que desea seleccionar.
- Git creará una nueva confirmación con los mismos cambios en su rama actual.
git cherry-pick <commit-hash>Buscar hashes de confirmaciones
Para usar cherry-pick, ¡necesita el hash! Puede encontrarlo mediante git log.
La opción --oneline resulta muy útil para obtener una vista concisa:
git log --onelineConfigurar un escenario de cherry-pick
Configuremos un escenario sencillo. Crearemos una rama main y una rama feature/login. Crearemos una confirmación en feature/login que queremos incorporar a main.
Queremos incorporar la confirmación "HOTFIX" a main.
git init my_project
cd my_project
echo "Initial content" > file.txt
git add file.txt
git commit -m "Initial commit"
git branch feature/login
git checkout feature/login
echo "Login feature added" >> login.txt
git add login.txt
git commit -m "Add basic login feature"
echo "Fix: Login button style" >> style.css
git add style.css
git commit -m "HOTFIX: Fix login button styling"Ejecutar el cherry-pick
Ahora, vuelva a la rama main y aplique la confirmación "HOTFIX". Supongamos que el hash de "HOTFIX: Fix login button styling" era abcdefg.
Después de ejecutar este comando, aparecerá una nueva confirmación en su rama main con los mismos cambios que abcdefg. ¡Use git log --oneline para verla!
git checkout main
git cherry-pick abcdefgGestionar conflictos de cherry-pick
Al igual que una fusión, el cherry-pick puede generar conflictos si las mismas líneas de código se han modificado de forma diferente en ambos historiales.
- Git pausará la operación y marcará los archivos en conflicto.
- Resuelva manualmente los conflictos en los archivos.
- Añada los archivos resueltos con
git add. - Complete la operación con
git cherry-pick --continue.
# After resolving conflicts in editor:
git add .
git cherry-pick --continueSeleccionar varias confirmaciones
Puede aplicar cherry-pick a más de una confirmación a la vez.
Para seleccionar un intervalo de confirmaciones (desde hashA hasta, sin incluir, hashB):
git cherry-pick hashA..hashBCuándo usarlo (y cuándo no)
El cherry-pick es potente, pero debe utilizarse con criterio.
- Es adecuado para: correcciones urgentes y trasladar cambios pequeños y aislados entre ramas no relacionadas.
- Es menos adecuado para: integrar periódicamente grandes conjuntos de cambios, ya que puede generar confirmaciones duplicadas y dificultar el seguimiento del historial si no se tiene cuidado. Prefiera la fusión o el rebase para integrar ramas completas.
Comprobación rápida: propósito del cherry-pick
Tiene una confirmación en su rama feature/new-design que corrige un problema crítico de estilos. Necesita aplicar esta corrección de inmediato en su rama main, sin fusionar toda la rama de funcionalidad.
Resumen: cambios específicos
En esta lección hemos aprendido sobre git cherry-pick, un comando útil para aplicar confirmaciones específicas a su rama actual.
- Crea una nueva confirmación con los mismos cambios en la rama de destino.
- Es ideal para correcciones urgentes o para trasladar cambios aislados.
- Necesita el hash de la confirmación, que normalmente se obtiene con
git log --oneline. - Debe estar preparado para resolver conflictos, igual que ocurre con las fusiones.
¡Dominar cherry-pick le proporciona un control preciso sobre el historial de su proyecto!
Aprende Git & GitHub Professional Workflow con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 12
- Lecciones
- 48
Preguntas frecuentes
¿La lección «Cherry-picking de commits» es gratis?
Sí — el texto completo de «Cherry-picking de commits» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Git & GitHub Professional Workflow, actualiza a CoddyKit PRO. El curso de Git & GitHub Professional Workflow incluye 4 lecciones en total.
¿Qué aprenderé en «Cherry-picking de commits»?
Comprenda cómo aplicar selectivamente commits individuales de una rama en otra mediante `git cherry-pick`. Practicas Git & GitHub Professional Workflow con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Git & GitHub Professional Workflow?
No se requiere experiencia previa. Git & GitHub Professional Workflow en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Cherry-picking de commits»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Git & GitHub Professional Workflow?
Sí. Cada lección de Git & GitHub Professional Workflow incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Resolución manual de conflictos de merge
- Rebase interactivo para el historial
- Cherry-picking de commits
- Reutilización de resoluciones de conflictos con Git Rerere