Ășltimo tag remoto especifico eliminar deshacer commits comandos borrar anteriores git

tag - Eliminar un git commit que no haya empujado



eliminar un commit especifico (8)

Hice un git commit pero todavía no lo he enviado al repositorio. Así que cuando hago el git status , obtengo ''# Tu rama está delante de'' master ''con 1 commit.

Entonces, si quiero revertir mi compromiso principal, ¿puedo simplemente hacer:

git reset --hard eb27bf26dd18c5a34e0e82b929e0d74cfcaab316

Dado que cuando hago git log obtengo:

commit eb27bf26dd18c5a34e0e82b929e0d74cfcaab316 Date: Tue Sep 29 11:21:41 2009 -0700 commit db0c078d5286b837532ff5e276dcf91885df2296 Date: Tue Sep 22 10:31:37 2009 -0700


En realidad, cuando usa git reset , debe referirse a la confirmación a la que está restableciendo; por lo que querría la confirmación db0c078 , probablemente.

Una versión más fácil sería git reset --hard HEAD^ , para restablecer la confirmación anterior antes de la cabecera actual; de esa manera no tiene que estar copiando alrededor de los ID de confirmación.

Tenga cuidado cuando realice cualquier git reset --hard , ya que puede perder cualquier cambio no confirmado que tenga. Es posible que desee verificar el git status para asegurarse de que su copia de trabajo esté limpia o que desee eliminar cualquier cambio que haya allí.

Además, en lugar de HEAD, puede usar origin/master como referencia, como lo sugiere @bdonlan en los comentarios: git reset --hard origin/master


Esto es lo que hago:

Primero compruebe su sucursal (para mi caso master rama):

git reset HEAD^ --hard && git clean -df && git pull

Luego reinicie el mando a distancia en HEAD ^ ( eliminará todos los cambios locales ), haga un esfuerzo de limpieza y tire:

$ git reset HEAD~


He experimentado la misma situación que hice a continuación, ya que esto es mucho más fácil. Al pasar commit-Id puede acceder a la confirmación en particular a la que desea ir:

git reset --hard {commit-id}

Como desea eliminar su última confirmación, debe pasar el commit-Id donde necesita mover el puntero:

git reset --hard db0c078d5286b837532ff5e276dcf91885df2296


Una forma sería eliminar la sucursal local y retirar esa sucursal del servidor si su sucursal local está adelantada a la remota mediante múltiples confirmaciones y debe confirmar todas ellas.


simplemente escriba en la consola:

git checkout master


Eliminar el último commit antes de push

git reset --soft HEAD~1

1 significa la última confirmación, si desea eliminar dos últimos usos 2 , y así sucesivamente *


SI NO has empujado tus cambios a remoto

git reset HEAD~1

Compruebe si la copia de trabajo está limpia por git status .

ELSE has empujado tus cambios a remoto

git revert HEAD

Este comando revertirá / eliminará la última confirmación / cambio y luego puede presionar


git reset --hard origin/master

para restablecerlo a cualquiera que sea el origen.

Esto fue publicado por @bdonlan en los comments . Agregué esta respuesta para las personas que no leen comentarios.