Cómo restaurar archivos que se han eliminado en un repositorio de Git

Los archivos que se han eliminado de la copia local de un repositorio se pueden recuperar de git.

Ejecute el siguiente comando:


git ls-files -d | xargs git checkout

Este ejemplo muestra primero que un repositorio git está actualizado, esto se hace llamando al comando git status. Un archivo se elimina en la unidad local. Luego, se vuelve a llamar al comando git status y muestra que falta el archivo que acabamos de eliminar. Luego se llama al comando git ls-files con el parámetro -d para listar todos los archivos eliminados. Esa lista se canaliza a un comando de git checkout para recuperar el archivo del repositorio. Finalmente, se llama al comando git status y muestra que el repositorio está actualizado y que el archivo que se eliminó previamente se ha restaurado desde el repositorio. La versión del archivo restaurado es la última que se envió en Git. Si no se confirmó la última versión del archivo, estas modificaciones no se recuperan.

El resultado será:


$ git status
On branch master
Your branch is up-to-date with 'origin/master'.

nothing to commit, working directory clean

$ rm logs/donotremove.txt

$ git status
On branch master
Your branch is up-to-date with 'origin/master'.

Changes not staged for commit:
  (use "git add/rm ..." to update what will be committed)
  (use "git checkout -- ..." to discard changes in working directory)

        deleted:    logs/donotremove.txt

no changes added to commit (use "git add" and/or "git commit -a")

$ git ls-files -d | xargs git checkout

$ git status
On branch master
Your branch is up-to-date with 'origin/master'.

nothing to commit, working directory clean

Referencias

Git

Comentarios Recientes