Disons que je suis dans un référentiel Git. Je supprime un fichier et valide cette modification. Je continue de travailler et je fais encore plus de commits. Ensuite, je trouve que je dois restaurer ce fichier.
Je sais que je peux extraire un fichier en utilisant git checkout HEAD^ foo.bar
, mais je ne sais pas vraiment quand ce fichier a été supprimé.
- Quel serait le moyen le plus rapide de trouver le commit qui a supprimé un nom de fichier donné?
- Quelle serait la façon la plus simple de remettre ce fichier dans ma copie de travail?
J'espère que je n'ai pas à parcourir manuellement mes journaux, à extraire l'intégralité du projet pour un SHA donné, puis à copier manuellement ce fichier dans mon extraction de projet d'origine.
git log --diff-filter=D -- path/to/file
git checkout deletedFile
sera rétabli deletedFile
s'il a été supprimé mais que cette suppression n'a pas encore été mise en place ou validée . Ce n'est pas ce que la question demande ici; cette question concerne la façon de restaurer un fichier dont la suppression a été validée il y a de nombreuses validations.