Finns det ett snabbt Git-kommando för att se en gammal version av en fil?

Finns det ett kommando i Git för att se (antingen dumpad till stdout, eller i $PAGER eller $EDITOR) en viss version av en viss fil?

Du kan använda git show:

$ git show REVISION:path/to/file

Ersätt REVISION med din faktiska revision (kan vara en Git commit SHA, ett taggnamn, ett grennamn, ett relativt commitnamn eller något annat sätt att identifiera en commit i Git).

Till exempel, för att visa versionen av filen src/main.c från 4 commits sedan, använd:

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

Observera att sökvägen är från roten av arkivet om den inte börjar med ./ eller ../ för att ange en relativ sökväg. Git för Windows kräver snedstreck framåt även i sökvägar som är relativa till den aktuella katalogen. Mer information finns på man-sidan för git-show.

Kommentarer (32)

Det ser ut så här när du gör detta per datum:

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

Observera att HEAD@{2013-02-25}} betyder "där HEAD var 2013-02-25" i detta arkiv (med hjälp av reflog), inte "den senaste överföringen före 2013-02-25 i denna gren i historiken".

Kommentarer (6)

Om du gillar grafiska gränssnitt kan du använda gitk:

1:

    gitk /sökväg/till/fil
  1. Välj revidering i den övre delen av skärmen, t.ex. genom beskrivning eller datum. Som standard visar den nedre delen av skärmen diff för den revideringen (motsvarande radioknappen "patch").

  2. För att se filen för den valda revideringen:

  • Klicka på radioknappen "tree" (träd). Detta visar roten i filträdet för den revideringen.
  • Borra ner till din fil.
Kommentarer (5)