Frecuentemente uso git stash
y git stash pop
para guardar y restaurar cambios en mi árbol de trabajo. Ayer tuve algunos cambios en mi árbol de trabajo que había escondido y reventado, y luego hice más cambios en mi árbol de trabajo. Me gustaría volver y revisar los cambios ocultos de ayer, pero git stash pop
parece eliminar todas las referencias a la confirmación asociada.
Sé que si lo uso git stash
, .git / refs / stash contiene la referencia de la confirmación utilizada para crear el alijo. Y .git / logs / refs / stash contiene todo el alijo. Pero esas referencias se han ido después git stash pop
. Sé que el commit todavía está en mi repositorio en alguna parte, pero no sé qué era.
¿Hay una manera fácil de recuperar la referencia de confirmación de escondite de ayer?
Tenga en cuenta que esto no es crítico para mí hoy porque tengo copias de seguridad diarias y puedo volver al árbol de trabajo de ayer para obtener mis cambios. Estoy preguntando porque debe haber una manera más fácil!
git stash
, git pull -r upstream
, git push -f origin
, git stash pop
, y el pop dijo "fatal: registro de árbitros / alijo está vacía". 😲 Intenté muchas de estas respuestas, nada funcionó. Cuando miré en .git / refs / stash , el SHA estaba allí. ¿Quizás un problema al marcar una unidad de red de Windows para la sincronización sin conexión? 🤷♂️
git stash pop
, puedes hacerlo en sugit stash apply
lugar. Hace lo mismo, excepto que no elimina la referencia al alijo aplicado.