Git cherry pick illo

Git Cherry Pick

git cherry-pick es un potente comando que permite que las confirmaciones arbitrarias de Git se elijan por referencia y se añadan al actual HEAD de trabajo. La ejecución de cherry-pick es el acto de elegir una confirmación de una rama y aplicarla a otra. git cherry-pick puede ser útil para deshacer cambios. Por ejemplo, supongamos que una confirmación se aplica accidentalmente en la rama equivocada. Puedes cambiar a la rama correcta y ejecutar cherry-pick en la confirmación para aplicarla a donde debería estar.

Cuándo utilizar git cherry pick

git cherry-pick es una herramienta útil, pero no siempre es una práctica recomendada. Ejecutar cherry-pick puede generar confirmaciones duplicadas y, en muchos casos en los que su ejecución sí funcionaría, son preferibles las fusiones tradicionales. Por lo tanto, git cherry-pick es una herramienta útil solo en algunos casos...

Colaboración en equipo

A menudo, un equipo puede encontrar a miembros trabajando en el mismo código o en torno a él. Es posible que una nueva función de un producto tenga un componente de backend y otro de frontend y que haya algún código compartido entre ambos sectores de un producto. Puede que el desarrollador del backend cree una estructura de datos que el frontend también deba utilizar. El desarrollador del frontend podría usar git cherry-pick para elegir la confirmación en la que se creó esta hipotética estructura de datos. Esta elección permitiría al desarrollador del frontend seguir avanzando con su parte del proyecto.

Correcciones de errores

Cuando se detecta un error, es importante ofrecer una solución a los usuarios finales cuanto antes. Por ejemplo, supongamos que un desarrollador ha comenzado a trabajar en una nueva función. Durante su desarrollo, identifica un error preexistente. Entonces, el desarrollador crea una confirmación explícita para aplicar una solución al error. Esta nueva confirmación de aplicación de solución se puede elegir mediante cherry-pick directamente en la rama master para corregir el error antes de que afecte a más usuarios.

Cómo deshacer cambios y restaurar las confirmaciones perdidas

Cómo utilizar git cherry-pick

Para demostrar cómo utilizar git cherry-pick, supongamos que tenemos un repositorio con el siguiente estado de rama:

    a - b - c - d   Main
         \
           e - f - g Feature

Usar git cherry-pick es sencillo y se puede ejecutar de la siguiente manera:

git cherry-pick commitSha

En este ejemplo, commitSha es una referencia de confirmación. Puedes encontrar una referencia de confirmación utilizando el comando git log. En este caso, imaginemos que queremos aplicar la confirmación 'f' a la rama master. Para ello, primero debemos asegurarnos de que estamos trabajando con la rama master.

git checkout main

A continuación, ejecutamos cherry-pick con el siguiente comando:

git cherry-pick f

Una vez ejecutado, el historial de Git se verá así:

    a - b - c - d - f   Main
         \
           e - f - g Feature

The f commit has been successfully picked into the master branch

Ejemplos de git cherry pick

git cherry pick también se puede combinar con algunas opciones de ejecución.

-edit

Al combinar la opción -edit, Git solicitará un mensaje de confirmación antes de aplicar la operación cherry-pick.

--no-commit

La opción --no-commit ejecutará el comando cherry-pick, pero en lugar de hacer una nueva confirmación, moverá el contenido de la confirmación de destino al directorio de trabajo de la rama actual.

--signoff

Resumen