2011-07-01 13 views
7

Borré todo mi trabajo y preferiría no explicar cómo.
Lo único que me queda son los objetos git. Más que nada me gustaría recuperar algunos de los archivos de imagen empaquetados de pérdida. Del tamaño de los archivos objeto puedo decir cuáles son. ¿Hay alguna manera de convertirlos nuevamente en archivos utilizables?Recuperando archivos de los objetos de Git

+1

solo objetos git? no refs/branches/tags? Lo primero: copia de seguridad – knittl

Respuesta

5

Lo primero: ¡haga una copia de seguridad! luego trabaje en una copia de esa copia de seguridad.

si los objetos git aún están en el directorio correcto (.git/objects/xx/xxx…) puede usar git fsck --full para que git los descubra; probablemente enumerará todos los objetos en su repositorio. ahora busque los que tienen la etiqueta commit y tag, esos son los que desea recuperar.

Probablemente usaría un script que crea una rama para cada objeto de confirmación encontrado (por ejemplo, simplemente los números que aparecen rescue-1, rescue-2, etc.). luego use gitk --all para visualizar todas sus ramas y elija la más alta (la más reciente). crear una nueva rama allí rescued-master.

revise su nueva rama principal y ejecute git branch --no-merge. Debería obtener una lista de confirmaciones bifurcadas, no contenidas en el maestro. probablemente también quieras darles un nuevo nombre de sucursal.

Una vez que haya terminado, elimine todas las ramas numeradas rescue-.

Espero que ayude y dé un punto de partida.

Cuestiones relacionadas