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






Komentáře

Vaše reakce na Git - jak hledat v commitech a obnovit soubor ve starší revizi

Související obsah

linux

git

programování

Reference

Podívejte se na naše reference

Prohlédnout

Aplikace

Podívejte se na naše aplikace

Prohlédnout

Co umíme?

Podívejte se co umíme

Prohlédnout

Co umíme?

Vytváříme sofistikované aplikace pro náročné

Od webových aplikací přes android až po převodové můstky či složité informační systémy.

Podívejte se k nám

Máte ještě čas? Podívejte se na další rubriky

Tento web používá soubory cookie. Dalším procházením tohoto webu vyjadřujete souhlas s jejich používáním.. Více informací zde.