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.