2012-08-27 20 views
15

Así que esto es lo que pasó: Estaba en una rama 'A' e hice un alijo Git en esa rama. Luego cambié a otra rama 'B'. Regresé a Branch 'A' pero no hice un Git stash pop. Cambié a la rama principal y luego a la rama 'A'. Intento ir a un git stash pop ahora pero no puedo recuperar mis cambios. Necesito recuperar ese código, pero cada vez que hago un git stash pop, los cambios en mi archivo no aparecen en la lista. No cometí ningún código.git perdido cambios ocultos

¿Hay alguna manera de recuperar los cambios que hice? Realmente agradecería cualquier ayuda en este sentido.

+1

prueba "git stash list" para ver qué stashes tienes disponible. – JamesOR

Respuesta

7

Stashes debe ser visible a través de

git stash list 

o

gitk --all 

también, git stash no STASH archivos sin seguimiento. Si lo hizo y luego hizo un git checkout --force de otra rama para sobrescribir los archivos sin seguimiento con los rastreados en otra rama, ha perdido ese contenido. La forma recomendada de ocultación es con

git stash -u 

Esto evitará las pérdidas de este tipo.

+0

Gracias. Esto ayudó. – nids

10

También enfrentamos el mismo problema. Así pues, aquí es cómo nos recuperamos los cambios perdidos:

  1. Ir de nuevo a la rama B.

    git checkout B

  2. opción Usar git reflog a la sarna información reflog.

    git reflog --all

    Salida:

    árbitros f332d5c/alijo @ {0}: WIP en B: aa1d0c1 xyz mensaje de consignación

  3. Ahora, cambie a la rama A usando git checkout A

  4. Finalmente, para recuperar sus cambios perdidos.

    git alijo aplican f332d5c

+1

Tuve acceso para cometer, pero perdí mi escondite. Recuperé mi trabajo 'git stash apply'. ¡Gracias! – Mitkins

+0

@Mitkins muchas gracias, también me he encontrado con esto y 'git stash apply' funciona para mí. – AnnabellChan

0

Algo similar le ocurrió a mí. En resumen, verifique que no haya insertado accidentalmente los nuevos archivos en la otra rama.

Esto es lo que me sucedió a mí: escondí mis cosas, pasé de 'dev' a 'maestro' para hacer una revisión rápida.Cuando empujé mi hotfix a master, no noté que también agregué mis nuevos archivos que estaban destinados para el desarrollo de la rama principal; también asumí que el escondite incluía esos archivos.