Fusionar y aplastar en Git
La mayoría de las veces, nos encontramos con una situación mientras trabajamos en una rama de trabajo en particular, y tenemos que commits desde la rama de trabajo a la rama principal. Pero ya tenemos muchas commits listas para varios problemas que se encuentran en la rama de trabajo.
Este artículo discutirá cómo fusionar y aplastar muchas commits de trabajo en una soel commit usando los comandos git. Con la ayuda de los comandos squash y merge en git, podemos fusionar todas los commits de nuestras solicitudes deseadas en una única confirmación y conservar un historial limpio. Aplastar los commits nos ayuda a limpiar el historial de commits de nuestra rama deseada cuando acepta nuestra solicitud de fusión. Introduce todos los cambios que hemos mencionado en la solicitud de fusión como una única confirmación, y luego fusiona esa confirmación con la ayuda del método de fusión especificado para el proyecto.
Supongamos que tenemos dos ramas:
- Rama de trabajo
- Rama principal
Rama de Git Checkout para fusionar
Para aplastar todas los commits de nuestra rama de trabajo y fusionarlas en la rama principal, podemos realizar los siguientes pasos:
Tenemos que cambiar a la rama main
desde la rama de trabajo usando el siguiente comando git checkout:
git checkout main
Merge & Squash Branch en Git
Al realizar squash, tomará todas nuestras commits de la rama de trabajo y hará un solo squash
para todas los commits de la rama de trabajo en la rama principal. Si enfrentamos algún problema, podemos resolverlo manualmente usando el siguiente comando:
git merge --squash feature
Nota: El comando anterior no hará un commit de fusión. Tenemos que hacerlo manualmente usando el siguiente comando.
Confirmar cambios en la rama en Git
Ahora confirme los cambios combinados con un mensaje combinado.
git commit -m <"add comment here">
Si no desea agregar el mensaje de commit, puede omitir -m
y la sección de comentarios, que no incluirá el mensaje con el commit de la rama.
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