Cómo deshacer git stash clear

Ejecuto git stash y guardo "ABC" y el y por error lo tengo escondido. ¿Cómo puedo recuperar los datos que estaban en el alijo ABC? Ayuda por favor

Como se puede encontrar en la documentation de git stash , puede tener suerte si esto funciona:

Recuperación de escondites que fueron borrados / caídos erróneamente

Si por error deja caer o limpia los escondites, no se pueden recuperar a través de los mecanismos de security normales. Sin embargo, puede intentar el siguiente conjuro para get una list de depósitos que todavía están en su repository, pero que ya no se puede alcanzar:

git fsck –unreachable | grep commit | corte -d \ -f3 | xargs git log –merges –no-walk –grep = WIP

Si encuentra el alijo que borró por error, entonces puede hacer:

git stash apply <stash> 

EDITAR : Use este command en su lugar git fsck --unreachable | grep commit | cut -d ' ' -f3 | xargs git log --merges --no-walk --grep=WIP git fsck --unreachable | grep commit | cut -d ' ' -f3 | xargs git log --merges --no-walk --grep=WIP

También eliminé un alijo, pero usando el gui de GitKraken, así que no sé exactamente qué commands git se ejecutaron. La respuesta elegida no funcionó para mí, pero al less me puso en el path correcto.

En mi caso, búsqueda manual a través de objects inalcanzables. Estoy seguro de que hay una manera más eficiente, pero estoy contento de haber podido recuperar los cambios.

 ids=`git fsck --unreachable | grep blob | cut -d ' ' -f3` number_of_ids=`echo $ids | wc -l | tr -d '[:space:]'` for i in {1..$number_of_ids}; do git show `echo $ids | sed -n ${i}p` > evaluate$i.rb;done; 

Así que esto guarda todos los objects inalcanzables en files con el prefijo "evaluar". Luego abrí todos los files en un editor de text (sublime para mí, subl evaluate* ), y evalué cada file uno por uno, copyndo y pegando manualmente el file en la versión anterior del file original, si se trataba de un file del alijo que eliminé .

Consejos:

  • Cambie el .rb para que coincida con la extensión de file de los files que está buscando, para get el resaltado de syntax adecuado si lo desea.
  • Si sus files no están incluidos, puede ampliar el scope de su búsqueda eliminando | grep blob | grep blob (los blobs fueron donde encontré mis files).