Gibt es einen schnellen Git-Befehl, um eine alte Version einer Datei zu sehen?

Gibt es einen Befehl in Git, um eine bestimmte Version einer bestimmten Datei zu sehen (entweder als Dump nach stdout oder in $PAGER oder $EDITOR)?

Sie können git show verwenden:

$ git show REVISION:path/to/file

Ersetzen Sie REVISION durch Ihre tatsächliche Revision (dies kann ein Git Commit SHA, ein Tag-Name, ein Branch-Name, ein relativer Commit-Name oder eine andere Art der Identifizierung eines Commits in Git sein)

Um zum Beispiel die Version der Datei src/main.c von vor 4 Übertragungen anzuzeigen, verwenden Sie:

$ git show HEAD~4:src/main.c

Beachten Sie, dass der Pfad vom Stamm des Repositorys ausgeht, es sei denn, er beginnt mit ./ oder ../, um einen relativen Pfad anzugeben. Git für Windows erfordert Schrägstriche auch in Pfaden relativ zum aktuellen Verzeichnis. Weitere Informationen finden Sie in der Manpage für git-show.

Kommentare (32)

Nach Datum aufgeschlüsselt sieht das so aus:

git show HEAD@{2013-02-25}:./fileInCurrentDirectory.txt

Beachten Sie, dass "HEAD@{2013-02-25}" "wo HEAD am 25.02.2013 war" in diesem Repository bedeutet (unter Verwendung von dem reflog), nicht "die letzte Übergabe vor dem 25.02.2013 in diesem Zweig in der Geschichte".

Kommentare (6)

Wenn Sie GUIs mögen, können Sie gitk verwenden:

  1. Starten Sie gitk mit:

     gitk /pfad/zur/datei
  2. Wählen Sie die Revision im oberen Teil des Bildschirms aus, z. B. nach Beschreibung oder Datum. Im unteren Teil des Bildschirms wird standardmäßig der Diff für diese Revision angezeigt (entsprechend dem Optionsfeld "patch").

  3. Um die Datei für die ausgewählte Revision zu sehen:

  • Klicken Sie auf das Optionsfeld "Baum". Dadurch wird die Wurzel des Dateibaums für diese Revision angezeigt.
  • Blättern Sie bis zu Ihrer Datei.
Kommentare (5)