C'est rien de particulier dans git. Si vous connaissez le nom du fichier, vous pouvez trouver le changement qui l'a enlevée avec le journal:
git log -n 1 -- filename
Ensuite, vous pouvez l'utiliser à engager pour obtenir le fichier tel qu'il existait avant la suppression.
git checkout [last_revision]^ filename
Exemple:
dhcp-120:/tmp/slosh 587% ls -l slosh.tac
ls: slosh.tac: No such file or directory
dhcp-120:/tmp/slosh 588% git log -n 1 -- slosh.tac
commit 8d4a1f1a94e4aa37c1cb9d329a140d08eec1b587
Author: Dustin Sallings <dustin@spy.net>
Date: Mon Dec 15 11:25:00 2008 -0800
Get rid of a .conf and replace it with .tac.
dhcp-120:/tmp/slosh 589% git checkout 8d4a1f^ slosh.tac
dhcp-120:/tmp/slosh 590% ll slosh.tac
-rw------- 1 dustin wheel 822 Dec 30 12:52 slosh.tac
Notez que ce n'est pas réellement placez le fichier dans le contrôle de révision. Il n'a qu'à insérer le fichier tel qu'il existait dans son état final dans l'emplacement actuel. Vous pouvez ensuite l'ajouter ou tout simplement l'inspecter ou que ce soit à partir de ce point.