untracked stash name kraken files delete git

name - git stash push



Como deshacer el git stash clear (3)

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

Recuperando los escondites que fueron borrados / tirados erróneamente

Si por error se caen o se eliminan los escondites, no se pueden recuperar a través de los mecanismos de seguridad normales. Sin embargo, puede probar el siguiente conjuro para obtener una lista de los alijo que todavía están en su repositorio, pero que ya no son accesibles:

git fsck - inalcanzable | grep commit | corte -d / -f3 | xargs git log --merges --no-walk --grep = WIP

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

git stash apply <stash>

EDITAR : Utilice este comando 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

Ejecuto git stash, excepto "ABC" y, por error, hice git stash clear. ¿Cómo puedo recuperar los datos que estaban en el escondite ABC? Ayuda por favor


Ejecute este comando para encontrar la confirmación:

git fsck --unreachable | grep commit | cut -d '' '' -f3 | xargs git log --merges --no-walk --grep=WIP

listará algo como:

Checking object directories: 100% (256/256), done. commit c36e565014d9a927c36f16e78bc327eb375d33b8 Merge: dff6bc1 4e05a0c Author: suhailvs <[email protected]> Date: Thu Jul 19 13:32:01 2018 +0530 WIP on master: dff6bc1 added menu

luego checkout que cometer c36e565014 :

git checkout c36e565014


También eliminé un alijo, pero usando la gui de GitKraken, así que no sé exactamente qué comandos de git ejecutó. La respuesta elegida no funcionó para mí, pero al menos me puso en el camino correcto.

En mi caso, la búsqueda manual a través de objetos inalcanzables funcionó. Estoy seguro de que hay una forma más eficiente, pero me alegro 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 objetos inalcanzables en archivos con el prefijo "evaluar". Luego abrí todos los archivos en un editor de texto (sublime for me subl evaluate* ), y evalué cada archivo por turno, copiando y pegando manualmente el archivo en la versión antigua del archivo original si era un archivo del alijo que eliminé .

Consejos:

  • Cambie el .rb para que coincida con la extensión de archivo de los archivos que está buscando, para obtener el resaltado de sintaxis adecuado si lo desea.
  • Si sus archivos no están incluidos, puede ampliar el alcance de su búsqueda eliminando el | grep blob | grep blob (las manchas estaban donde encontré mis archivos).