Actualizar rama desde maestro en Git
-
Actualizar Master Branch usando el comando
merge
en Git -
Actualizar Master Branch usando el comando
rebase
Mientras trabajábamos en Git con muchos desarrolladores y analistas trabajando simultáneamente en varias ramas, podíamos encontrarnos con muchos problemas. Un problema común es cuando un miembro del equipo realiza cambios en su rama local, mientras que otros trabajan en esa rama remota y luego combinan sus cambios en la rama maestra remota.
Además, si empujamos la rama local de trabajo y no extraemos la rama maestra remota, entonces tenemos que volver a escribir los cambios de otros desarrolladores en la rama maestra remota.
Este artículo trata sobre los comandos de rama maestra de actualización de git
, y discutiremos el modelo completo de ramificación de actualización de Git. La característica de branching
se puede encontrar en la mayoría de los sistemas de control de versiones modernos y únicos.
En Git, la función más importante y utilizable es la ramificación, que forma parte de nuestro proceso de desarrollo diario. Este artículo nos guiará en la actualización de una rama de Git utilizando los métodos mencionados a continuación.
Si queremos que nuestra rama de características de git se actualice con los nuevos cambios de la rama maestra, debemos seguir una de las siguientes técnicas:
- Fusionar
- Rebase
La fusión crea más compromiso, mientras que la reorganización reescribe el historial en el repositorio.
Supongamos que estamos en cualquier rama de función en el repositorio que creamos para agregar la subfunción en nuestro proceso de desarrollo.
El estado actual de la rama es el siguiente.
git branch
* feature branch
Y hay nuevos commits disponibles en la rama principal/origen del repositorio:
git fetch
From git repository
xyz88874..def74125 master -> origin/master
Entonces, ¿cómo fusionaríamos el commit anterior de la rama local a la rama maestra? Ahora tenemos dos soluciones, la primera es usar los comandos merge
y la otra son los comandos rebase
en Git.
Actualizar Master Branch usando el comando merge
en Git
Como tenemos la situación en la que queremos fusionar el último commit de la rama local a la rama maestra, podemos usar el siguiente comando para fusionar los commits.
git merge origin/master
Cuando vayamos a enviar los cambios de la rama local a la rama remota, y si encontramos algunos conflictos en ella, primero fusionaremos los conflictos en un solo archivo y crearemos un nuevo commit de fusión para él. Si no encontramos un conflicto en el directorio de trabajo, se enviará un nuevo commit directamente a una rama remota.
Actualizar Master Branch usando el comando rebase
Como tenemos la situación en la que queremos cambiar la base de el último commit de la rama local a la rama maestra, podemos usar el siguiente comando para cambiar la base de los commits.
git rebase origin/master
Rebase desplaza hacia arriba todas los commits divergentes de la rama de funciones. Esto indica que los commits divergentes ahora consistirán en \new commit hashes\
porque su historial se escribirá nuevamente en la rama principal.
Además, si nuestra rama de funciones ya se envió a la rama maestra remota, entonces debemos forzar la inserción para que se actualice:
git push origin feature --force
Sin embargo, si otros desarrolladores han revisado esa rama de características, no se recomienda este método, es mejor seguir con el comando de combinación para este escenario.
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