2012-05-31 19 views
164

que acabo de hacer un alijo en un proyecto que no he comprometerse. ¿Hay alguna manera de volver al estado antes de esconder? ¿Cómo podría hacer esto? Cerré la terminal y mi computadora portátil se apagó. He investigado un poco y parece que no hay forma de hacer esto.Deshacer un alijo git

+3

Basta con aplicar el alijo ... – CrimsonDiego

+2

hizo su investigación incluyen el estudio [la documentación de git-alijo] (http: // git-scm.com/docs/git-stash), que explica cómo hacer esto? –

+0

Publicación relacionada [aquí] (https://stackoverflow.com/q/19003009/465053). – RBT

Respuesta

337

Usted sólo puede ejecutar:

git stash pop 

y va a unstash los cambios.

Si desea conservar el estado de los archivos (por etapas frente de trabajo), utilice

git stash apply --index 
+7

Bueno, no del todo. No restablecerá lo que está en el directorio de etapas, por lo que tendrá que volver a configurar todo eso (lo que puede ser molesto si acaba de hacer un complemento de git complejo -p – Nick

+0

¡Gracias! ¡Ha ahorrado mucho de mi tiempo! – Lecko

+0

Didn No funcionó para mí. Recibí un error: 'mymodule/MyClass.java: necesita fusión - no se puede actualizar el índice'. Evitar una fusión manual fue precisamente mi objetivo cuando usé' git stash pop' ... – TanguyP

59

git stash list a tu lista de cambios escondidos.

git stash show para ver qué n se encuentra en los siguientes comandos.

git stash apply para aplicar el alijo más reciente.

git stash apply [email protected]{n} aplicar un alijo de más edad.

http://git-scm.com/book/en/Git-Tools-Stashing

+1

también "git stash show" después de "git stash list" solo para completar esta excelente respuesta e identificar mejor con qué reemplazar n. ¡Tengo cosas almacenadas de archivos que ya no existen! – JimLohse

13

esto se restaurará el directorio temporal:

git stash apply --index