Rebase Git Branch
Este tutorial cubre los diversos pasos que puede seguir para cambiar la base de su rama local a una rama maestra remota utilizando los comandos git fetch
, git rebase
y git push
.
Cambiar la base de la rama local a una rama maestra remota en Git
-
Obtener cambios
Usamos el comando
git fetch
para obtener todos los cambios de nuestro repositorio remoto.pc@JOHN MINGW64 ~/Git (Branch1) $ git fetch remote: Enumerating objects: 3, done. remote: Counting objects: 100% (3/3), done. remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 Unpacking objects: 100% (3/3), 610 bytes | 3.00 KiB/s, done. From https://github.com/Wachira11ke/Delftscopetech * [new branch] main -> origin/main
-
Haz cambios
Ejecutamos el comando
git rebase
para integrar los cambios a nuestra rama. El siguiente ejemplo cambiará la base de nuestra rama actual desde la rama principal.pc@JOHN MINGW64 ~/Git (main) $ git rebase main Current branch main is up to date.
Cuando se produzcan conflictos, utilice
git add .
. comando para resolverlos. No ejecute el comandogit commit
después degit add .
. dominio.Después de resolver los conflictos, use
git rebase --continue
para finalizar el proceso. Si desea abortar el proceso después de resolver los conflictos, use el comandogit rebase --abort
. -
Empuje los cambios al repositorio remoto
Para cargar el contenido en su repositorio local, use el comando
git push -f
como se ilustra a continuación.git push main HEAD -f
La
-f
sobrescribirá cualquier cambio realizado por otros desarrolladores en el repositorio remoto.A continuación se muestra un método más seguro para enviar cambios a un repositorio remoto.
git push --force-with-lease main HEAD
Este comando no sobrescribirá los cambios realizados por otros desarrolladores en el repositorio remoto.
La reorganización y la fusión se utilizan para integrar cambios de una rama a otra. Rebasar es el proceso de actualizar una rama de función sin alterar el historial de la rama, lo que permite un historial del commit más limpio.
Es lo opuesto a
git merge
, que puede crear ramas en conflicto cuando se comparte con otros.
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn