sobrescritos - Git: descartar todos los cambios en una rama local divergente
revertir git checkout (2)
Borre la rama, luego vuelva a crearla:
$ git branch -D phobos
$ git checkout --track -b phobos origin/phobos
Tengo una rama de tema local que rastrea una rama remota. En aras de la discusión, diga que los historiales de compromiso se ven así:
A--B--C--O1--O2--O3 (origin/phobos)
/
L1--L2--L3 (phobos)
Después de examinar los historiales de compromiso relativos, ahora quiero descartar todos los cambios en la rama local de phobos
y volver a obtener una copia directa de origin/phobos
, de modo que la historia local se vea así:
A--B--C--O1--O2--O3 (phobos origin/phobos)
Realmente no quiero los cambios locales en la sucursal de phobos
, y realmente no quiero que las fusiones aparezcan en el repositorio de origen después. (Entonces, simplemente fusionar no es lo que tengo en mente).
Parece que debería ser realmente fácil, pero mi google-fu me ha fallado. ¿Cómo hago esto?
git checkout phobos
git reset --hard origin/phobos
Esto le dice a Git que restablezca el encabezado de phobos
al mismo compromiso como origin/phobos
, y que actualice el árbol de trabajo para que coincida.