Como restaurar arquivos que foram excluídos em um repositório Git

Os arquivos que foram excluídos da cópia local de um repositório podem ser recuperados do git.

Execute o seguinte comando:


git ls-files -d | xargs git checkout

Este exemplo mostra primeiro um repositório git sendo atualizado, isso é feito chamando o comando git status. Um arquivo é excluído na unidade local. Em seguida, o comando git status é chamado novamente e mostra que o arquivo que acabamos de excluir está faltando. Em seguida, o comando git ls-files é chamado com o parâmetro -d para listar todos os arquivos excluídos. Essa lista é canalizada para um comando git checkout para recuperar o arquivo do repositório. Finalmente, o comando git status é chamado e mostra que o repositório está atualizado e o arquivo que foi excluído anteriormente foi restaurado do repositório. A versão do arquivo restaurado é a mais recente que foi confirmada no Git. Se a versão mais recente do arquivo não foi confirmada, essas modificações não serão aceitas.

O 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

Referências:

Git

Comentários Recentes