Pregunta Git borró accidentalmente todos mis cambios


En git lo hice git rm -r . 

Esto fue estúpido, porque aparentemente borró todos mis archivos en mi directorio de trabajo. Muchos de estos archivos tenían cambios que no se habían comprometido. Estaba siendo estúpido y no cometí nada durante la última semana.

¿Cómo puedo deshacer esto? Quiero recuperar todos los cambios en mi directorio de trabajo NO la última vez que inicié sesión en git.

Cuando corro git status, muestra alrededor de 200 archivos que fueron eliminados. Muchos de estos tenían cambios en mi directorio de trabajo que me gustaría mantener. ¿Cómo puedo hacer esto?


6
2017-10-28 06:29


origen


Respuestas:


No puedes. Git borró los archivos. Se han ido. Quizás puedas recuperarlos con alguna herramienta de recuperación de archivos, pero eso está más allá del alcance de git.

No cometer frecuentemente sorta derrota el propósito de usar un VCS.


editar: ¡Lo llevo de vuelta! Git es increíble y podría haber hecho una gota para tus archivos (supongo que para comprobar la frescura con git-status)

Este hilo sugiere usar git fsck --lost-found para encontrar objetos de git que aún no sean parte del repositorio. Va a volcar un grupo de archivos en .git/lost-found/other; con un poco de suerte, algunos serán tu trabajo. (Esta es una forma más fácil de lograr lo mismo que git prune -n, mencionado a continuación y en esta respuesta.)


11
2017-10-28 06:32



Lo bueno es que en git no está perdido.

Tratar git reset HEAD para revertir los cambios en su índice y luego git checkout . para ver sus archivos desde HEAD


Otra forma si no los has comprometido es ejecutar git prune -n y busca los números de blob. Luego puedes restaurarlos usando git cat-file -p <blob-hash #> , ver git cat-file


5
2017-10-28 06:33