Affichage d'un fichier supprimé dans Git

voix
98

J'ai supprimé un fichier avec Git et engagé, de sorte que le fichier n'est plus dans ma copie de travail. Je veux regarder le contenu de ce fichier, mais ne restaurera pas réellement. Comment puis-je faire ceci?

Créé 08/09/2009 à 17:11
utilisateur
Dans d'autres langues...                            


3 réponses

voix
112

git show HEAD^:path/to/file

Vous pouvez utiliser un identifiant explicite validation ou HEAD~nde voir les anciennes versions ou s'il y a eu plus d'un depuis commettras vous l' avez supprimé.

Créé 08/09/2009 à 17:15
source utilisateur

voix
6

Puisque vous ne pouvez pas rappeler le chemin exact, vous pouvez obtenir le lieu SHA1 du journal git alors vous pouvez simplement émettre

 git cat-file -p <sha1>
Créé 02/05/2012 à 00:55
source utilisateur

voix
34

Si cela est un fichier que vous avez supprimé un certain temps et ne voulez pas chasser pour une révision , vous pouvez utiliser (le fichier est nommé foodans cet exemple, vous pouvez utiliser un chemin complet):

git show $(git rev-list --max-count=1 --all -- foo)^:foo

L' rev-listappel cherche toutes les révisions de foomais énumère une seule. Depuis la rev-listliste dans l' ordre chronologique inverse, alors ce qu'il énumère est la dernière révision qui a changé foo, ce qui serait le commettras qui a supprimé foo. (Ceci est basé sur l'hypothèse que git ne permet pas un fichier supprimé à modifier mais restent supprimés.) Vous ne pouvez pas simplement utiliser la révision qui rev-listretourne en l' état, car foon'existe plus là. Vous devez demander une juste avant qui contient la dernière révision du fichier, d' où l' ^en git show.

Créé 01/11/2013 à 11:31
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more