tag remove practices delete create best git recovery git-index

remove - ¿Cómo recuperar `.git/index` localmente?



git rename tag (3)

No creo que eso sea posible, no a través de git todos modos (puedes intentar buscar dentro del directorio de la Papelera o cualquier otro medio de recuperación que ofrezca el sistema de archivos). Sin embargo, obtendrá un nuevo índice tan pronto como git add algo o haga otra cosa que requiera el índice.

Si ha perdido alguno de los archivos que ha git add , puede ir a través de ./git/objects ( find .git/objects/ -type f |sed ''s:/.git/objects/::; s:/::'' ), inspeccione el contenido de cada uno con git cat-file -p $the_hash , y una vez que haya encontrado el perdido, redirija la salida a un archivo.

(Cuando git add , una entrada de nombre de archivo va a .git/index y el contenido del archivo se almacena en .git/objects/ . El índice de Git se compone de las entradas de nombre de archivo de un posible árbol objeto que se crea al commit . Puede ver una representación legible por humanos del índice con git ls-files --stage ).

He borrado accidentalmente .git/index , ¿hay alguna forma de recuperarlo? Se elimina de forma permanente. Todavía no he cometido nada.


Para reconstruir el archivo de índice, puede probar estos dos comandos:

git reset # re-scan the working directory git add -u # update the index


Puede recuperar el índice a partir de la última compra con git reset . Cualquier contenido que haya agregado desde entonces todavía se agrega, está en el repositorio, pero el índice fue el único lugar donde se registró la asociación de ruta y contenido. Puede hacer que git fsck suelte objetos inalcanzables en un directorio perdido y no encontrado, vea sus documentos , luego la ruta más rápida a través de un territorio familiar es volver a colocar el contenido en el área de trabajo y agregarlo nuevamente, git no duplica el contenido, pero se recuperará la entrada del índice.