Výhodou systému správy verzí je, že zaznamenává změny. Tyto záznamy nám umožňují získávat data, jako jsou potvrzení, zjišťování chyb, aktualizace. Ale celá tato historie bude k ničemu, pokud se v ní nebudeme moci orientovat. V tomto okamžiku potřebujeme příkaz git log.
Git log je obslužný nástroj pro kontrolu a čtení historie všeho, co se děje s repozitářem. S protokolem git lze použít více možností, aby byla historie konkrétnější.
Obecně je git log záznamem odevzdání. Protokol git obsahuje následující data:
Jak ukončit příkaz git log?
Může nastat situace, že spustíte příkaz git log a zůstanete tam. Chcete psát nebo se vrátit na bash, ale nemůžete. Když kliknete na Vstupte , bude vás navigovat ke staršímu příkazu až do koncového příznaku.
Řešením tohoto problému je lis a q (Q pro ukončení) . Opustí vás ze situace a vrátí vás na příkazový řádek. Nyní můžete provést kterýkoli z příkazů.
Základní Git log
Příkaz Git log je jedním z nejběžnějších příkazů git. Je to nejužitečnější příkaz pro Git. Pokaždé, když potřebujete zkontrolovat historii, musíte použít příkaz git log. Základní příkaz git log zobrazí nejnovější odevzdání a stav hlavy. Použije se jako:
$ git log
Výše uvedený příkaz zobrazí poslední odevzdání. Zvažte následující výstup:
Výše uvedený příkaz vypisuje všechny nedávné odevzdání. Každé potvrzení obsahuje nějaké jedinečné sha-id, které je generováno algoritmem SHA. Obsahuje také datum, čas, autora a některé další podrobnosti.
Na příkazovém řádku můžeme provést nějakou akci, jako je posouvání, skákání, pohyb a ukončení. Chcete-li se posunout na příkazovém řádku, stiskněte k pro pohyb nahoru, j pro pohyb dolů, mezerník pro posun o celou stránku dolů pro posun o stránku nahoru a q pro ukončení z příkazového řádku.
<Git Log Oneline
Možnost oneline se používá k zobrazení výstupu jako jednoho potvrzení na řádek. Zobrazuje také výstup ve zkratce, jako je prvních sedm znaků SHA odevzdání a zpráva odevzdání.
Bude se používat následovně:
$ git log --oneline
Obvykle tedy můžeme říci, že příznak --oneline způsobí zobrazení protokolu git:
- jedno potvrzení na řádek
- prvních sedm znaků SHA
- zpráva o odevzdání
Zvažte následující výstup:
Jak můžeme přesněji vidět z výše uvedeného výstupu, každý commit je uveden pouze na jednom řádku se sedmimístným číslem sha a zprávou o odevzdání.
Git Log Stat
Příkaz log zobrazí soubory, které byly změněny. Zobrazuje také počet řádků a souhrnný řádek celkových záznamů, které byly aktualizovány.
Obecně lze říci, že k zobrazení slouží volba stat
setinterval javascript
- upravené soubory,
- Počet řádků, které byly přidány nebo odebrány
- Změněný souhrnný řádek celkového počtu záznamů
- Řádky, které byly přidány nebo odebrány.
Bude se používat následovně:
$ git log --stat
Výše uvedený příkaz zobrazí soubory, které byly změněny. Zvažte následující výstup:
Z výše uvedeného výstupu můžeme vidět, že všechny uvedené commity jsou modifikacemi v úložišti.
Git log P nebo Patch
Příkaz git log patch zobrazí soubory, které byly změněny. Zobrazuje také umístění přidaných, odebraných a aktualizovaných řádků.
Bude se používat jako:
$ git log --patch
Nebo
$ git log -p
Obecně můžeme říci, že příznak --patch se používá k zobrazení:
- Upravené soubory
- Umístění řádků, které jste přidali nebo odebrali
- Konkrétní změny, které byly provedeny.
Zvažte následující výstup:
Výše uvedený výstup zobrazuje upravené soubory s umístěním řádků, které byly přidány nebo odstraněny.
Graf protokolu Git
Příkaz Git log umožňuje zobrazit váš git log jako graf. Chcete-li vypsat odevzdání ve formě grafu, spusťte příkaz git log s volbou --graph. Poběží následovně:
$ git log --graph
Aby byl výstup konkrétnější, můžete tento příkaz zkombinovat s volbou --oneline. Bude fungovat následovně:
zřetězit java řetězec
$ git log --graph --oneline
Filtrování historie odevzdání
Výstup můžeme filtrovat podle našich potřeb. Je to jedinečná funkce Gitu. Na výstup můžeme použít mnoho filtrů, jako je množství, datum, autor a další. Každý filtr má své specifikace. Mohou být použity pro implementaci některých navigačních operací na výstupu.
Podívejme se podrobně na každý z těchto filtrů.
Podle částky:
Můžeme omezit počet výstupních potvrzení pomocí příkazu git log. Je to nejkonkrétnější příkaz. Tento příkaz odstraní složitost, pokud máte zájem o méně potvrzení.
Chcete-li omezit výstup protokolu git, včetně volby -. Pokud chceme pouze poslední tři commity, pak můžeme předat argument -3 v příkazu git log. Zvažte následující výstup:
Jak vidíme z výše uvedeného výstupu, můžeme omezit výstup git log.
Podle data a času:
Výstup můžeme filtrovat podle data a času. Musíme projít --po nebo -před argument k určení data. Tyto oba argumenty přijímají různé formáty data. Poběží následovně:
$ git log --after='yy-mm-dd'
Výše uvedený příkaz zobrazí všechny odevzdání provedené po daném datu. Zvažte následující výstup:
Výše uvedený příkaz uvádí seznam všech odevzdání po '2019-11-01'.
Můžeme také předat příslušné referenční prohlášení jako „včera“, „před 1 týdnem“, „před 21 dny“ a další. Poběží jako:
git log --after='21 days ago'
Výše uvedený příkaz zobrazí potvrzení, která byla provedena před 21 dny. Zvažte následující výstup:
Můžeme také sledovat commity mezi dvěma daty. Chcete-li sledovat potvrzení, která byla vytvořena mezi dvěma daty, předejte odkaz na příkaz --před a --po datum. Předpokládejme, že chceme sledovat závazky mezi '2019-11-01' a '2019-11-08'. Příkaz spustíme následovně:
dopředné řetězení
$ git log --after='2019-11-01' --before='2019-11-08 '
Výše uvedený příkaz zobrazí potvrzení provedená mezi daty. Zvažte následující výstup:
Výše uvedený výstup zobrazuje odevzdání mezi daným obdobím. Můžeme použít --since a --until místo --after a --before. Protože jde o synonyma, resp.
Autor:
Můžeme filtrovat commity podle konkrétního uživatele. Předpokládejme, že chceme vypsat revizi provedené pouze konkrétním členem týmu. Můžeme použít příznak -author k filtrování odevzdání podle jména autora. Tento příkaz přebírá regulární výraz a vrací seznam odevzdání autorů, kteří odpovídají tomuto vzoru. Místo vzoru můžete použít přesný název. Tento příkaz se spustí následovně:
$ git log --author='Author name'
Výše uvedený příkaz zobrazí všechny odevzdání provedené daným autorem. Zvažte následující výstup:
Z výše uvedeného výstupu můžeme vidět, že všechny commity autora Jsem Dwivedi1 jsou uvedeny.
Místo regulárního výrazu nebo přesného názvu můžeme použít řetězec. Zvažte níže uvedené prohlášení:
$ git log --author='Stephen'
Výše uvedený příkaz zobrazí všechny commity, jejichž autor obsahuje jméno, Stephen. Jméno autora se nemusí přesně shodovat; má jen zadanou frázi.
Jak víme, e-mail autora je také spojen se jménem autora, takže můžeme e-mail autora použít jako vzor nebo přesné vyhledávání. Předpokládejme, že chceme sledovat odevzdání autorů, jejichž e-mailovou službou je google. K tomu můžeme použít zástupné znaky jako „@gmail.com“. Zvažte níže uvedené prohlášení:
$ git log -author='@gmail.com'
Výše uvedený příkaz zobrazí odevzdání autorů, jak je uvedeno ve vzoru. Zvažte následující výstup:
Prostřednictvím zprávy Commit:
Filtrovat odevzdání podle zprávy odevzdání. Můžeme použít možnost grep a bude fungovat jako možnost autora.
Poběží následovně:
$ git log --grep=' Commit message.'
Místo kompletní zprávy můžeme použít krátkou formu zprávy odevzdání. Zvažte níže uvedený výstup.
Výše uvedený výstup zobrazuje všechny odevzdání, které obsahuje slovo odevzdat v jeho zprávě odevzdání.
K dispozici je mnoho dalších možností filtrování, například můžeme filtrovat podle názvu souboru, obsahu a dalších.