4.1 Git Log

git status nám ozrejmil, v akom stave sa nachádzajú naše, ešte neuložené, zmeny. Našich kolegov ale obvykle nebude trápiť, čo máme práve rozpracované. Ich bude skôr zaujímať, čo máme dokončené. Dokončenú - tzn. committed - prácu si vieme pozrieť pomocou príkazu git log.

Rovno uvádzam verziu so všetkými prepináčikmi, ktoré budeme používať, ako aj ukážkový výstup nad repozitárom tejto webstránky:

$ git log -5 --oneline --graph --all

* 89f779a (HEAD -> main, origin/main, origin/HEAD) Android projekt 1 - skeleton
* 915e2da Styling code blocks in headings
* aebabf5 Android swap lecture 3/4 = modifiers/layouts
* 4d66c25 Android 2.4 exercises for Text Composable added
* a3b34bc Assignments for flutterflow 2.3 finalized

Tu vidieť aj niektoré dôležité informácie. Väčšina z nich bude dávať zmysel, až keď budeme riešiť vetvenie. Nateraz nás zaujíma len:

  • 7 znakov reprezentuje commit hash resp. jedinečný identifikátor commitu
  • a commit message teda text správy pri commite

Tak si vieš pozrieť poradie commitovaných verzií a ich identifikátory.

Z praxe: “Čau Mišo, v commite aebabf5 si menil poradie tém, ale zabudol si ich zmeniť v ToC, prosímťa oprav to.” Takúto informáciu mohol mať autor len z git log

Príklady

Nemusím ale použiť všetky prepináčiky, čím môžem získať aj iné výstupy. Napríklad:

  1. git log - zobrazí všetky commitované verzie aj so všetkými informáciami o nich - autor, dátum, správa, …
  2. git log -5 - zobrazí len posledných 5 commitovaných verzií (namiesto 5 môžeš použiť akékoľvek iné číslo)
  3. git log --oneline - zobrazí jednoriadkové záznamy commitovaných verzií. Vidíme v ňom len skrátený commit hash a správu.
  4. git log --graph - zobrazí grafickú reprezentáciu commitových verzií - to využijeme, až keď budeme pracovať s viacerými vetvami
  5. git log --all - zobrazí všetky commitované verzie, aj tie, ktoré nie sú na aktuálnej vetve - to využijeme, až keď budeme pracovať s viacerými vetvami

Okrem týchto prepináčikov existujú aj pekné možnosti formátovania. To je ale ďaleko bonusový materiál a pre ovládanie gitu nie je potrebný.