web-dev-qa-db-fra.com

Comment récupérer un fichier précédemment supprimé dans l'historique de git?

En utilisant réponse de Chris sur une autre question, je pourrais ajouter un historique des instantanés à mon référentiel git. Étant donné que l'un des fichiers ne fait pas partie de mon historique mais uniquement dans les instantanés, le premier commit d'origine contient désormais également la suppression de ce fichier. Comment puis-je annuler cela?

Au début, je pensais que c'était le contraire de Comment supprimer des fichiers sensibles de l'historique de git , mais en fait, je ne veux pas insérer un fichier dans l'historique mais juste supprimer la suppression de l'historique.

46
Tobias Kienzler

J? ai compris:

git tag originalHead # just in case
git rebase -i <id of the parent of the commit that deleted the file>
# change pick to edit for that commit
git checkout <id of the previous commit> <filename> # thanks for reminding, kubi
git commit --amend
git rebase --continue
git tag -d originalHead

modifier malheureusement, cela laissera toutes les balises à l'ancienne chronologie, voir ici

51
Tobias Kienzler
git checkout <commit> <filename>
68
kubi