Cherry-Pick Merge Commit en Git

Abdul Jabbar 31 mayo 2022
  1. el comando git cherry-pick en Git
  2. Cherry-Pick Merge Commit en Git
Cherry-Pick Merge Commit en Git

Cuando varios desarrolladores del mismo equipo están trabajando en un proyecto, ya sea que el proyecto sea grande o pequeño en complejidad, se vuelve muy difícil manejar y administrar los cambios entre las ramas de Git.

Ocasionalmente, necesitamos que algunas commits particulares se combinen en otra rama en lugar de combinar toda la rama, y ​​para este propósito, usamos una herramienta esencial en Git que se conoce popularmente como Cherry Picking.

Cherry Picking es una buena herramienta para usar al elegir solo un commit de una lista completa de commits en una rama del repositorio.

el comando git cherry-pick en Git

git cherry-pick es un comando influyente que permite que las commits aleatorias de Git se muevan de una rama en un repositorio y se agreguen al HEAD de trabajo actual del repositorio. Este comando también es útil para deshacer cambios relacionados con el desarrollo anterior realizado por el equipo.

Por ejemplo, si accidentalmente hicimos un commit en la rama incorrecta, cambiaremos a la rama correcta y elegiremos el commit en el lugar correcto donde debería pertenecer a una nueva rama del repositorio.

Todos los commits de una rama se mezclan cuando se trabaja con git merge o git rebase. Mientras que el comando cherry-pick nos permite elegir commits seleccionadas para su asimilación.

Cherry-Pick Merge Commit en Git

Elegir un commit de fusión no es tan fácil como parece. Cuando ejecutamos el procedimiento de fusión, trabajamos con dos ramas a la vez del mismo repositorio.

Por ejemplo, una rama principal-B se fusiona con la rama principal-A usando los comandos de Git.

Entonces, cuando estamos eligiendo el compromiso específico que fue una fusión con dos padres, debemos decirle al comando cherry-pick contra el cual se debe usar la diff usando la opción -m. Mencionaremos la rama principal específica con el commit hash en el siguiente comando.

La sintaxis para la situación anterior se explica a continuación.

git cherry-pick -m <commit hash>

Expliquemos la situación con el siguiente ejemplo del comando anterior.

M - N - O - P - Q (branch A)
     \     /
      R - S - T (branch B)

Como se muestra arriba, P es el commit de fusión. Si ejecutamos el comando git cherry-pick, Git pasará una advertencia sobre el comando.

Así que ahora tenemos que mencionar el número de rama principal con la identificación del commit. Se realizará en el siguiente comando.

git cherry-pick -m 1 P

Este comando cherry-pick tomará todas las commits de O- P del ejemplo anterior.

También podemos realizar la acción anterior usando el siguiente comando.

git cherry-pick -m 2 P

Esto seleccionará todas las commits de R- S- P del ejemplo anterior.

Nota: seleccionar un commit en una rama con el comando merge commit es demasiado dañino, por lo que mientras trabaja con él, siempre proceda con precaución. Existe un alto riesgo de perder el historial de el commit realizada en el pasado.

Interrumpe todos los cambios que hicimos en el padre, y no definimos -m en ese compromiso.

Abdul Jabbar avatar Abdul Jabbar avatar

Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.

LinkedIn

Artículo relacionado - Git Cherry-Pick