Cómo cambiar la base de la sucursal local al maestro remoto
Tengo un proyecto clonado desde una rama maestra desde un repositorio remoto remote_repo
. Creo una nueva rama y me comprometo con esa rama. Otros programadores pasaron a la rama master en remote_repo
.
Ahora necesito cambiar la base de mi sucursal local RB
a la sucursal remote_repo
de master
.
¿Como hacer esto? ¿Qué comandos escribir en una terminal?
Primero, obtenga el nuevo maestro del repositorio ascendente, luego vuelva a basar su rama de trabajo en eso:
git fetch origin # Updates origin/master
git rebase origin/master # Rebases current branch onto origin/master
Actualización : consulte la respuesta de Paul Draper para conocer una forma más concisa de hacer lo mismo: las versiones recientes de Git proporcionan una forma más sencilla de realizar el equivalente a los dos comandos anteriores.
git pull --rebase origin master
Después de confirmar los cambios en su rama, realice la compra master
y extráigala para obtener los últimos cambios del repositorio:
git checkout master
git pull origin master
Luego revisa tu sucursal y rebase tus cambios en master
:
git checkout RB
git rebase master
...o los dos últimos comandos en una línea:
git rebase master RB
Al intentar regresar a origin/RB
, probablemente obtendrá un error; Si eres el único que trabaja RB
, puedes forzar el envío:
git push --force origin RB
...o de la siguiente manera si tienes git configurado apropiadamente:
git push -f