2012-06-01 20 views
77

¿Cuál es la mejor manera de mover tu última confirmación de git a las áreas "Cambios no escalonados" + "Archivos sin seguimiento" (sin comprometer el compromiso en cuestión)/solo en su repositorio local, eliminándolo efectivamente de HEAD)?Mover (o "Deshacer") último git confirmar área sin registrar

En otras palabras, ¿cómo se retrotrae una confirmación, pero se aplica automáticamente esa diferencia a su área no grabada?

Respuesta

134

Para que los archivos marcados para cometer el uso

git reset --soft HEAD^ 

Y lo contrario

git reset HEAD^ 

--soft

(...) Esto deja a todos sus archivos modificados "Los cambios que se cometan" , como lo pondría el estado de git.

+0

@jlb, leyendo ["Restablecer desmitificado"] (http://git-scm.com/2011/07/11/reset.html) junto con esta respuesta se recomienda. – kostix

+1

@Stefan Muy útil. Gracias. –

+0

"Y de lo contrario" ... estas palabras no tienen ningún sentido en el contexto – PandaWood

3

git-extras proporciona un comando git undo que es una manera fácil de recordar de hacer lo mismo (junto con una serie de otros extras útiles, como su nombre lo indica).

Cuestiones relacionadas