Kihagyás

Conventional Commits

1. Bevezetés

Napjainkban a szoftverfejlesztési szektorban a legelterjedtebb szabvány a Conventional Commits (Konvencionális Commitok). Ez a specifikáció az Angular projekt belső irányelveiből nőtt ki, és célja, hogy strukturált, mind az emberek, mind a gépek által könnyen elemezhető adatokat szolgáltasson a kódbázis változásairól.

1.1. A Conventional Commits strukturális felépítése

A szabvány egy szigorú, háromszintű hierarchiát ír elő minden véglegesítési üzenethez, biztosítva az egységességet a teljes projektben.

  1. Fejléc (Header): Ez a legfontosabb rész, amely tartalmazza a típus (type), az opcionális hatókör (scope) és a rövid leírás (description) elemeket. A formátuma: (): .
  2. Törzs (Body): Egy üres sorral elválasztva következik a fejléc után. Itt a fejlesztő részletezi a változtatás miértjét, a megoldás hátterét és az esetleges mellékhatásokat.
  3. Lábléc (Footer): Szintén egy üres sor választja el a törzstől. Itt kapnak helyet a gyökeres változásokra (BREAKING CHANGE) vonatkozó figyelmeztetések, valamint a jegyrendszer-hivatkozások (pl. Jira ticket számok).

A típusok meghatározása kulcsfontosságú az automatizáció szempontjából, mivel ezek alapján dől el a verziószám növelésének mértéke a Semantic Versioning (SemVer) elvei szerint.

Típus Leírás SemVer hatás
feat Új funkció bevezetése a végfelhasználó számára MINOR (közepes)
fix Hiba kijavítása a kódban PATCH (hibajavítás)
docs Kizárólag dokumentációs módosítások Nincs / PATCH
style Kódformázás, fehérközök, hiányzó pontosvesszők Nincs
refactor Kód újraszervezése funkcionális változás nélkül Nincs
perf Teljesítményt javító kódmódosítás PATCH
test Tesztek hozzáadása vagy javítása Nincs
chore Karbantartás, build folyamat vagy segédeszközök frissítése Nincs
build Külső függőségek vagy build rendszerek módosítása PATCH
ci CI konfigurációs fájlok (pl. GitHub Actions, Jenkins) Nincs

1.2. Példák commit üzenetekre

Néhány tipikus példa Conventional Commits stílusban:

feat(auth): add login functionality
fix: correct typo in README
docs: update API usage documentation
perf: improve query performance

Vagy ha törő változást vezetünk be:

feat!: remove support for Node 6
BREAKING CHANGE: build pipeline now requires Node 8 or higher.