Git - jak hledat v commitech a obnovit soubor ve starší revizi

Git - jak hledat v commitech a obnovit soubor ve starší revizi

V tomto článku si ukážeme, jak vyhledávat v git commitech dle názvu a obsahu, jak si vybrat co vše chceme ve výpisu vidět a jak obnovit celý soubor v dané revizi.

Nejsnažší způsob pro vyhledávání obsahu ve všech git commitech je tento:
git log -S "hledany_obsah"

Patrně ale narazíte na to, že si budete chtít výstup trochu poupravit...

Více možností:

hledá v obsahu - všude - řádkový výpis
git grep "hledany_obsah" $(git rev-list --all)

hledá v obsahu - všude - ale vypisuje hlavičky commitu
git log -S "hledany_obsah"

hledá v title - názvu commitu - vypisuje hlavičky commitu
git log --grep="hledany_titulek"

Příklad

Chceme najít slovo "Identifier"
git log -S "Identifier"

Výsledek je:
commit defb75d385e91b489dba8c1d2d9310e4964725a8
Author: Hanz <sv4sdf4sfwe@up4.cz>
Date:   Fri Aug 21 13:57:59 2022 +0200

Abych viděl celý commit, tak si ho chci zobrazit dle hash id
git show 0ba9fa752e57e4a3ba8c33354e7258f1b3da5452

A když mně to bude málo a chci vidět celý soubor v daném commitu, tak za hash id uvedu cestu k souboru
git show 0ba9fa752e57e4a3ba8c33354e7258f1b3da5452:src/File.php

Pokud chceme soubor File.php obnovit (restore file) a nechceme zasahovat do commitů, tak musíme uvést cestu k danému souboru a kam ho chceme uložit:
git show 0ba9fa752e57e4a3ba8c33354e7258f1b3da5452:src/File.php > ~/File.php

Použití v gitk (GUI)

Stačí za příkaz gitk vložit cestu k souboru
gitk src/File.php






Jak se ti článek líbil?

Komentáře (0)

Přidat komentář