Como hacer un Cherry Pick con Git.

¿Que es un Cherry Pick? Es cuando necesitas “elegir” solo algunos commits de cierta rama, para meterlos en otra. Vamos a poner un ejemplo un poco mas claro y del mundo real.

Sin entrar mucho en el workflow que cada quien y que su organización utilice, asumamos que tenemos un proyecto con la rama dev y master. Master es la rama de producción, solo cosas ya probadas pasan ahi y se hace el deploy únicamente de esta rama.

Cada desarrollador trabaja sobre ramas creadas a partir de dev, ejemplo feature/menu y otro desarrollador esta trabajando sobre una rama llamada feature/footer. Después se hace merge de estas ramas a dev y de ahi a master cuando estén aprobadas.

Ya con un poco de contexto, veamos para que nos sirve el cherry pick. Se ha hecho el merge de feature/menu y feature/footer en la rama dev, pero solo esta autorizado el feature/footer para pasar a master. Si intentas hacer un PR desde dev, verás claramente que intentara unir todos los commits de feature/menu y feature/footer en master. Esto no es posible, porque debemos mantener fuera de master a feature/menu. Aquí es donde el cherry pick, sera la solución.

1. Ir a la rama en donde quieres meter el cherry pick

2. Crear la rama en donde pondrás los commits que necesitas

3. Ir a GitHub (Gitlab, Bitbucket o en donde tengas tu repositorio) y ver los commits (puedes intentar hacer un PR para que sea mas fácil identificarlos). Aquí vemos los identificadores que necesitamos, en este ejemplo: 2caae932aad025.

 

 

4. Hacemos el push.

5. Finalmente hacemos el PR desde blacklist-cherry-pick (nuestra rama con los commits que necesitamos) hacia master (la rama destino).

¡Listo! Ya tenemos nuestra rama con los commits que necesitamos.

Suscribete ahora

Suscríbete y recibe información valiosa sobre UI, UX, CX y otras soluciones informáticas