una - que son las ramas gitlab
git: Tu rama y ''origen/maestro'' han divergido: ¿cómo descartar compromisos locales? (6)
Como alternativa a la fusión, puede volver a establecer la base de la rama de características en la rama maestra mediante los siguientes comandos:
git checkout feature
git rebase master
Tengo el siguiente mensaje en git:
# Your branch and ''origin/master'' have diverged,
# and have 3 and 8 different commits each, respectively.
# (use "git pull" to merge the remote branch into yours)
Me gustaría descartar las 3 confirmaciones locales y extraer las 8 confirmaciones remotas en el origen / maestro.
(La fusión va a ser muy difícil, prefiero realizar las 3 confirmaciones locales una vez que el máster esté actualizado).
¿Cómo puedo hacer esto?
Intente hacer esto para deshacerse de sus confirmaciones locales:
git reset --hard HEAD~4
Para borrar su última confirmación local, use lo siguiente:
git reset HEAD^
Esto hará que el encabezado regrese al estado anterior a la confirmación, y le permitirá git pull
desde el maestro. Asegúrese de guardar todos sus cambios en otro lugar antes de sacarlos del repositorio remoto.
Para poder tirar sin conflictos use git stash
, y luego git pull
.
Para conservar sus confirmaciones anteriores en una sucursal temporal en caso de que las necesite:
git branch temp
Luego cambie al nuevo maestro
git fetch origin
git reset --hard origin/master
Si un reinicio por hardware no lo corta para usted y no desea realizar una fusión, puede descartar los cambios locales no deseados al eliminar su sucursal local y volver a descargar el origen:
git branch -D <local branch>
git checkout -b <branch name> origin/<branch name>
Usando master
como ejemplo:
git branch -D master
git checkout -b master origin/master
git fetch origin
git reset --hard origin/master