2012-09-15 22 views

Respuesta

7

Dado que los archivos ya están en su área de ensayo (índice), simplemente confírmelos usando git commit sin ningún argumento. Esto comprometerá los contenidos del índice independientemente del estado actual del árbol de trabajo.

Luego puede usar git reset --hard (si no tiene otros cambios en el árbol que desea conservar) o git checkout FILE1 FILE2... para restaurar los archivos perdidos en su árbol de trabajo.

+0

Vaya, ni siquiera noté que el cartel decía" la eliminación aún no se ha agregado ". –

+0

Muchas gracias, funcionó. – user1672893

4

Puede usar git fsck --lost-found para encontrar todos los objetos a los que ya no hace referencia. Querrá ver los objetos 'blob' y ver si alguno de ellos coincide con los archivos que eliminó. Es de esperar que no tenga muchos objetos sin referencia.


Como user4815162342 señaló, el cartel de hecho dijo que la supresión no se había añadido sin embargo, lo que significa que se pueden recuperar con git checkout, o simplemente comprometidos en este momento para asegurarse de que no desaparecen.

Voy a dejar mi respuesta en caso de que alguien más desee información en git fsck --lost-found, pero la respuesta del usuario4815162342 debe ser aceptada.

+0

Hola, gracias por la respuesta. Me encontré con el comando, y vi una lista de gota colgando así, entonces ¿cómo consigo los archivos eliminados de nuevo? Gota colgante 029530a4ebc7dec791a58cb022e18d0d87c8fe04 colgando burbuja 0c871fff49c4a05ff4a49b6a910f3bc4b688e338 colgando burbuja 0c08f1e149bfa9e84e9e30867c931423267b91c7 – user1672893

+1

'git fsck --lost-found' escribe todos los objetos que cuelgan en las carpetas '.git/lost-found/commit /' o '.git/lost-found/other /'. Ve a través de la carpeta 'other' e intenta encontrar los archivos que contienen lo que borraste. Los nombres serán hash SHA1 pero el contenido será el archivo real. –

+0

También puede imprimir objetos individuales a través de 'git cat-file -p SHA1' –

Cuestiones relacionadas