NO git reset -hard ¡es PERMANENTE!
Utilice
git stash -u
lugar! Si tienes una pieza de trabajo allí que eliminas por accidente, todavía puedes recuperarla. Esto nunca llega a su control remoto a menos que elija hacerlo creando una rama y empujándolo hacia arriba.
Además, está en el camino correcto que puede usar git checkout
para lograr lo mismo. La sintaxis es
git checkout HEAD -- .
pero tiene el mismo problema que git reset --hard
. Quédese con el alijo y ahorrará perder su cabello en el futuro.
más larga respuesta
Las soluciones anteriores se revierten todos los cambios. Sin embargo, usted preguntó cómo deshacerse de algunos de los cambios. Añadiré esto para completarlo.
Para hacer esto, puede
git add file1 file2 file3
git stash save --patch
Ahora se le preguntará qué es exactamente lo que quiere hacer dissappear ... a lo que cada vez el nivel de granularidad. Por lo tanto, puede "rechazar" de manera segura solo algunos cambios en un único archivo si decide hacerlo.
De nuevo, 'reset' es para restablecer su índice y directorio de trabajo a un estado anterior. 'checkout' es para verificar una nueva o diferente sucursal. Una vez que te acostumbras, no es tan confuso. =) –
Visite http://www.gitready.com/ y http://learn.github.com/p/intro.html para obtener interesantes tutoriales, y luego http://gitref.org para obtener una referencia cuando ' re listo –
En realidad, puede usar 'git checkout' para cambiar su árbol de trabajo al estado de cualquier confirmación: si no está revisando una rama, desconectará HEAD, pero todo funciona bien. (Por ejemplo, eso es típicamente lo que haces cuando tratas de encontrar el último commit bueno cuando comienzas un 'git bisect'.) –