Git log

Gitin oletuslogi on aika reippaasti ruudulta pinta-alaa valtaava ja sanallisesti laaja, vaikkei itse logi paljon kertoisikaan yksittäisistä commiteista. Esimerkiksi alla on neljän commitin logi, joka itse committien niukkasanaisuudestaan huolimatta valtaa helposti puolikin ruutua:

Git tarjoaa kyllä näppärän –oneline -komentorivivivun, joka sieventää login hyvinkin suppeaksi. Valitettavasti lopputulos on vähän liiankin niukkasanainen:

Git on onneksi siitä kätevä työkalu, että sitä voi kustomoida suhteellisen helposti mielensä mukaan. Esimerkiksi alla on kustomoitu logikomento, joka mielestäni tarjoilee juuri oikean määrän tietoa tiiviissä muodossa:

Resepti yllä olevaan logitulosteeseen näyttää kokonaisuudessaan tältä:

Komennon palaset selitettynä auki:

  • –graph lisää tulosteen vasempaan reunaan asteriskin (*), joka suuremmissa projekteissa laajenee ASCII-grafiikalla piirretyksi puurakenteeksi, jos projektissa on esimerkiksi useampi branchi.
  • –pretty= ottaa vastaan määrittelyn, josta koko logirivin runko muodostuu
    • %C värin määritys
    • %h → lyhennetty commitin hash
    • %d referenssien nimet (master, HEAD, etc.)
    • %s logiteksti
    • %an tekijän nimi
    • %cr commitin aikaleima, suhteessa nykyhetkeen, jos haluaa oikean aikaleiman, esim. %ch on hyvä vaihtoehto:

Mutta hetkinen, mikäs tuo ”git lg” on, joka aiemmin vilahti? Se on gitin alias. Jos haluat luoda kustomoimastasi logikomennosta itsellesi helposti käytettävän git-komennon, käy se näppärästi näin:

git config --global alias.lg "log --graph --pretty=tformat:'%C(yellow)%h%Creset -%C(auto)%d%Creset %s %C(bold blue)<%an> %C(dim green)(%cr)%Creset'"

Lisätietoa login kustomoinnista ja värimäärityksistä voi lukea seuraavista lähteistä:

Edellinen artikkeli
Scrum on kuollut – ja hyvästä syystä
Seuraava artikkeli
Vibe koodaus ja Spec-Driven Development