Git: ¿Por qué algunos merge agregan un commit y otros no?
sábado, junio 06, 2020Se han preguntado ¿por qué al hacer un merge entre dos branchs, a veces se añade un nuevo commit que generalmente dice "Merge branch 'nombre_branch'" y en otras ocasiones no lo hace?. Existe una explicación para eso y acá se las voy a dar.
Existen al menos tres posibles resultados cuando hacemos un merge:
- Merge con avance rápido (fast-forward): se presenta cuando por ejemplo creamos un nuevo branch desarrollo a partir del branch master y agregamos cambios en este nuevo branch. Luego cuando vamos a hacer el merge del branch desarrollo a master, si master permanece sin ningún cambio, se producirá un avance rápido. Solo se añadiran los nuevos commits presentes en el branch desarrollo y no se generará ningún commit adicional.
- Merge de tres vías (3-way): siguiendo el ejemplo de crear un branch desarrollo a partir del branch master. Imaginemos que se existen nuevos commits en master al momento de querer hacer el merge del branch desarrollo, git se encarga de hacer la unión y se va a ver reflejado en un nuevo commit que por defecto tiene como mensaje similar a "Merge branch 'desarrollo'".
- Merge con conflictos: cuando se presenta un merge con conflictos por resolver, siempre se crea un nuevo commit que representa la solución de los conflictos.
Si quieres ampliar la información y verla de manera gráfica, puedes visitar el siguiente enlace.
Cuando navego por los sitios web, mi parte favorita es leer los comentarios. Es por eso que tus comentarios son un complemento valioso para mis entradas. Cualquier duda o aporte no dejes de escribirlo, en breve lo estaré publicando. ¡Gracias!
0 comentarios