2012-03-16 28 views
5

Hola, quiero deshacer mi último commit. Lo que hice fue hacer algunos cambios en el archivo y luego los envié, pero aún no los he enviado al repositorio principal. Después de git commit -m "comentario" me encontré con git status y me dio este mensajecómo deshacer commit

Your branch is ahead of 'origin/demo' by 1 commit 

Así que ahora quiero deshacer mi última confirmación así que ¿cómo puedo hacer eso?

+1

[se ha resuelto aquí] [1] [1]: http://stackoverflow.com/questions/495345/git-removing-selected-commits-from-repository –

Respuesta

16

Si desea deshacer por completo:

git reset --hard HEAD^ 

Si desea deshacer y mantener los cambios llevaron a cabo (antes de comprometerse):

git reset --soft HEAD^ 

Si desea deshacer y mantener sus archivos modificados (antes de la etapa):

git reset --mixed HEAD^ 
+0

¿Podría decirme qué es HEAD aquí? ¿Debo usar el mismo comando que escribió aquí? – 2619

+0

HEAD es un archivo que siempre se refiere a la última confirmación en la rama actual, O si ha desprotegido una confirmación (en un estado HEAD aislado) su valor es esa confirmación. Sí, debes utilizar el comando tal como está, suponiendo que no hayas cambiado de rama, etc. – ralphtheninja

1

Para revertir su compromiso mediante la creación de otra commit (asumiendo master es su rama de trabajo):

git revert master 

para deshacerlo, es decir, pretender que nunca ocurrió:

git reset --hard master~