logo

Git log

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:

    Hash odevzdání, což jsou 40znaková data kontrolního součtu generovaná algoritmem SHA (Secure Hash Algorithm). Je to jedinečné číslo.Potvrdit metadata autora: Informace o autorech, jako je jméno autora a e-mail.Metadata data potvrzení: Je to datum a časové razítko pro čas potvrzení.Potvrdit název/zprávu: Je to přehled odevzdání uvedený ve zprávě odevzdání.

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:

Git log

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:

Git log 1

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:

Git log 2

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:

Git log 3

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:

Git log 4

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=&apos;yy-mm-dd&apos; 

Výše uvedený příkaz zobrazí všechny odevzdání provedené po daném datu. Zvažte následující výstup:

Git log 5

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=&apos;21 days ago&apos; 

Výše uvedený příkaz zobrazí potvrzení, která byla provedena před 21 dny. Zvažte následující výstup:

Git log 6

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=&apos;2019-11-01&apos; --before=&apos;2019-11-08 &apos; 

Výše uvedený příkaz zobrazí potvrzení provedená mezi daty. Zvažte následující výstup:

Git log 7

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=&apos;Author name&apos; 

Výše uvedený příkaz zobrazí všechny odevzdání provedené daným autorem. Zvažte následující výstup:

Git log 8

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=&apos;Stephen&apos; 

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=&apos;@gmail.com&apos; 

Výše uvedený příkaz zobrazí odevzdání autorů, jak je uvedeno ve vzoru. Zvažte následující výstup:

Git log 9

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=&apos; Commit message.&apos; 

Místo kompletní zprávy můžeme použít krátkou formu zprávy odevzdání. Zvažte níže uvedený výstup.

Git log 10

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.