En mi repositorio de git, hice 5 commits, como a continuación en mi registro de git:
commit 4f8b120cdafecc5144d7cdae472c36ec80315fdc
Author: Michael
Date: Fri Feb 4 15:26:38 2011 -0800
commit b688d46f55db1bc304f7f689a065331fc1715079
Author: Michael
Date: Mon Jan 31 10:37:42 2011 -0800
commit b364f9dcec3b0d52666c4f03eb5f6efb7e1e7bda
Author: Michael
Date: Wed Jan 26 13:33:17 2011 -0800
commit 4771e26619b9acba3f059b491c6c6d70115e696c
Author: Michael
Date: Wed Jan 26 11:16:51 2011 -0800
commit 6e559cb951b9bfa14243b925c1972a1bd2586d59
Author: Michael
Date: Fri Jan 21 11:42:27 2011 -0800
¿Cómo puedo revertir mis 4 confirmaciones anteriores localmente en una sucursal? En otras palabras, ¿cómo puedo crear una rama sin mis últimos 4 commits (supongo que tengo el SHA de ese commit del git log)?
<commit_hash>
está en una rama diferente que está por delante?git checkout master
, junto con uno o dos casos extremos que pueden aplicarse a ciertas situaciones.Si quieres tirar los últimos cuatro commits, usa:
Alternativamente, puede especificar el hash de una confirmación a la que desea restablecer:
fuente
git reflog
y restablecerlo, pero sería tirarlos a la basura, sí.Simplemente compruebe la confirmación desde la que desea que comience su nueva sucursal y cree una nueva sucursal
fuente
Lo que significa que no estás creando una nueva rama y entrando en estado separado. La nueva forma de hacerlo es:
git switch --detach revison
fuente