Anzeigen einer gelöschten Datei in Git

stimmen
98

Ich habe eine Datei mit Git gelöscht und dann begangen, so ist die Datei nicht mehr in meiner Arbeitskopie. Ich möchte an dem Inhalt dieser Datei suchen, aber nicht wirklich wiederherstellen. Wie kann ich das machen?

Veröffentlicht am 08/09/2009 um 17:11
vom benutzer
In anderen Sprachen...                            


3 antworten

stimmen
112

git show HEAD^:path/to/file

Sie können eine explizite COMMIT - Bezeichner verwenden oder HEAD~nältere Versionen zu sehen , oder wenn es wurde mehr als ein begehen , da Sie es gelöscht.

Beantwortet am 08/09/2009 um 17:15
quelle vom benutzer

stimmen
6

Da Sie nicht den genauen Pfad erinnern könnte, können Sie stattdessen den SHA1 von git log bekommen, dann können Sie einfach ausgeben

 git cat-file -p <sha1>
Beantwortet am 02/05/2012 um 00:55
quelle vom benutzer

stimmen
34

Wenn dies eine Datei , die Sie eine Weile gelöscht haben zurück und wollen nicht für eine Revision jagen , können Sie (die Datei heißt fooin diesem Beispiel, Sie können einen vollständigen Pfad verwenden):

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

Der rev-listAufruf sieht für alle Revisionen , foosondern nur Listen ein. Da rev-listListen in umgekehrter chronologischer Reihenfolge, dann , was es listet die letzte Revision, die sich geändert foo, die die gelöschten commit wäre foo. (Dies basiert auf der Annahme basiert , dass git keine gelöschte Datei geändert werden läßt und doch bleiben gelöscht.) Sie können nicht nur die Revision verwenden , die rev-listzurückgibt , wie sie ist , weil foonicht mehr existiert. Sie haben für den einen , bevor sie nur fragen , die die letzte Version der Datei enthält, damit die ^in git show.

Beantwortet am 01/11/2013 um 11:31
quelle vom benutzer

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