Comment restaurer les fichiers qui ont été supprimés dans un repository Git

Les fichiers qui ont été supprimés de la copie locale d'un repository peuvent être récupérés à partir de git.

Exécutez la commande suivante :


git ls-files -d | xargs git checkout

Cet exemple montre d'abord qu'un dépôt git est à jour, ceci est fait en appelant la commande git status. Un fichier est supprimé sur le lecteur local. Ensuite, la commande git status est appelée à nouveau et montre que le fichier que nous venons de supprimer est manquant. Ensuite, la commande git ls-files est appelée avec le paramètre -d pour lister tous les fichiers supprimés. Cette liste est redirigée vers une commande git checkout pour récupérer le fichier du référentiel. Enfin, la commande git status est appelée et indique que le référentiel est à jour et que le fichier précédemment supprimé a été restauré à partir du référentiel. La version du fichier restaurée est la dernière qui a été validée dans Git. Si la dernière version du fichier n'a pas été validée, ces modifications ne sont pas récupérées.

La sortie sera:


$ 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

Références :

Git

Commentaires récents