Přeskočit na hlavní obsah

Commit Message

Napsat smysluplný commit message bývá obvykle těžší, než provést změnu jako takovou. Principy pro správné psaní popisu commitu mají každá firma a projekt vlastní. Nicméně, existuje několik základních pravidel, která platí pro většinu projektů.

Základní pravidla

Na co při tvoření commit message myslet
  • Představte si, že když píšete commit message, tak je to jeden bod v changelogu
  • Pokud si commit message přečtete, mělo by vám být jasné, co se změnilo
Co do commitu patří
  • Commity jsou psány v trpném rodu
    • Přidána kalibrační proměnná
    • Opravena chyba detekce senzoru
  • Obsahuje událost, která byla v commitu provedena
    • Přidána ...
    • Vyřešena ...
    • Optimalizována ...
    • Odstraněn ...
  • Stručně popisuje, co se změnilo
    • Dokončen návrh schématu
    • Připojeny senzory do schématu
    • Základní detekce barev
Co do commitu nepatří
  • Commit se nemá psát v aktivní první osobě
    • Přidal jsem kalibrační proměnnou
    • Opravil jsem chybu detekce senzoru
  • Commit by neměl "hloupě" popisovat to, co nám řekne jednoduše rozdíl
    • Úprava README.md
    • Přidán README.md
  • Neobsahuje informaci o tom, co se někdy možná bude dít
    • Návrh hotov, budu pokračovat zítra
    • Chybí osadit konektory
    • Chce to optimalizovat detekci barev
  • Neobsahuje příliš dlouhý popis
    • Dokončen návrh schématu a byla přiřazena pouzdra. Pouzdro pro senzor vzdálenosti jsem nenašel, a tak jsem tam dal jiné
    • Přidána funkce pro kalibraci - nefunkční pro limitní hodnoty, ale to bude nejspíše chyba někde jinde
    • Vylepšena detekce barev pro vícerozměrné kamery. Díky tomu je možné detekovat vícerozměrné objekty

Podrobný popis commitu

V některých ojedinělých případech nelze jednou stručnou větou přesně popsat co a proč se v commitu změnilo. Pokud to nelze popsat ani ve zdroji, který se měnil, je vhodné to popsat alespoň do commit message. Jedná se o několikařádkový text, kde již dává smysl podrobnější "slohovka" o problematice. Měla by ale sloužit především pro popis změny, ne pro dokumentaci k projektu. Tento rozšířený obsah se zadává jako druhý parametr -m do git commit:

git commit -m "Pridal jsem soubor pro poznamky" -m "Tento soubor je urcen pro poznamky k projektu. Nema slouzit jako vyvojovy notysek."
[main 97df565] Pridal jsem soubor pro poznamky
1 file changed, 1 insertion(+)
create mode 100644 poznamky.md

Obecný standard

Existují i přesnější standardy pro commit message. Některé vyžadují konkrétní formu a sekvenci slov. Většina z nich vyžaduje popisy v angličtině. U nás na KME se těmito přísnějšími pravidly řídit nemusíte. Nicméně, pokud byste potřebovali, doporučujeme prostudovat Conventional Commits.