Git sobrescribir maestro con rama

Abdul Jabbar 31 mayo 2022
Git sobrescribir maestro con rama

Git está acostumbrado a realizar un seguimiento del código fuente que estamos utilizando; también facilita la colaboración y nos ayuda a preservar nuestro proyecto hasta el estado actual.

Cuando desarrollamos nuevas funciones, su historial debe estar al alcance de la mano, ya que es muy útil para desarrollar cualquier aplicación o documentación.

Git sobrescribir maestro con rama

Git tiene dos formas de mezclar los cambios de una rama a otra. Uno se reorganiza y el otro se fusiona con cualquier rama en otra rama del repositorio.

Este artículo discutirá la fusión de la rama master en Git completamente desde otra rama del repositorio.

Al usar los flujos de trabajo de Git, los cambios que hemos realizado en nuestro código finalmente deben concluirse en la rama master cuando se completan las tareas de la aplicación.

También debemos entender que es posible que tengamos alguna otra rama que hayamos desarrollado, que contiene cambios de código que aún no están listos para la implementación en producción, y hemos llamado a esta rama dev de acuerdo con los requisitos y las reglas de la organización.

En algunos casos, hemos realizado demasiados cambios en nuestra rama dev, y luego de eso, enfrentamos dificultades al combinar la rama dev con nuestra rama master; no se puede realizar fácilmente.

Una forma de superar esta situación agitada es reemplazar por completo nuestra rama master con la rama dev. Podemos lograrlo de dos maneras que se explican a continuación.

Fusionar estrategia como Ours

Para llevar a cabo esta estrategia, primero ejecutaremos los siguientes comandos para fusionar la rama dev en la rama master con la ayuda de la estrategia de fusión nuestra, que es la siguiente.

git checkout dev
git merge -s ours master
git checkout master
git merge dev

La opción --strategy=ours en la combinación está destinada a reemplazar el historial anterior de ramas de funciones. Ahora nuestro master tendrá todo el contenido de nuestro dev e ignorará todos los cambios en el master.

Al aplicar este método, obtendremos un commit de fusión limpia y segura; otros desarrolladores que usan estas ramas también pueden tener la ventaja de esta fusión, ya que no experimentarán problemas al fusionar sus ramas de características.

Por otro lado, el inconveniente de este método es que esta combinación podría no funcionar si nuestra rama dev y master se han irradiado a una escala mayor en un proyecto.

Fuerza de empuje

La otra opción es forzar la inserción de la rama dev con un nombre diferente, pero este método es salvaje debido al problema mencionado anteriormente.

git push -f origin dev: master

Con la ayuda del indicador de alias -f mencionado en el comando, nuestra rama anterior master se sobrescribe por completo con la rama dev, incluido el historial.

Debemos tener mucho cuidado al aplicar el método anterior porque eliminará todas las commits presentes en la rama master ya que tampoco están disponibles en la rama dev del repositorio.

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 Branch