Ebben a repóban kötelezően alkalmazni kell a conventional commits szabályait.
Lásd: https://www.conventionalcommits.org/en/v1.0.0/
- Semantic Versioning (SemVer) ismerete: https://semver.org/lang/hu/spec/v2.0.0.html
- Git, squash commit ismerete: https://www.gitkraken.com/learn/git/git-squash
- Conventional Commits (továbbiakban CC) ismerete: https://www.conventionalcommits.org/en/v1.0.0
-
feature branch-re beérkező commit esetén nem kötelező használni a CC szabványt de elősegítheti a util verziójának pontos meghatározását.
-
feature branch master branch-re történő merge-elésekor kötelező squash commit-ot használni.
-
feature branch master branch-re történő merge-elésekor a squash commit message-e esetén kötelező használni a CC szabványt (szintaxis lentebb).
-
util módosítása esetén kötelező használni a SemVer-t a verzió pontos meghatározására.
- Szintaxis:
<type>[optional scope]: <description/title> [optional body] [optional footer(s)]
- Példa:
feat(api)!: FTB-001 - Add user authentication functionality The user authentication feature allows users to securely log in to the application using their credentials. This commit introduces the necessary changes to implement this functionality. - Created a new UserAuth class to handle user authentication logic - Implemented the login page UI and functionality - Added server-side validation for login credentials - Created a session management module to track authenticated users - Updated the user profile page to display user information after successful login Resolves: PROJECT-123, FTB-001, FTB-002 BREAKING CHANGE: The authentication API endpoint has been modified. Existing clients need to update their request payloads accordingly.
- type:
- fix: ha bugfix, ez felel meg a SemVer-ben a PATCH-nek
- feat: ha új feature, ez felel meg a SemVer-ben a MINOR-nak
- fix!:/feat!: ez felel meg a SemVer-ben a MAJOR-nek (breaking change)
- Ez azt is jelenti, hogy feat és fix nem kerülhet egyazon commit-ba.
- <description/title>: Amennyiben elégséges, akkor ide kerülhet egy rövid leírás. Ha hosszabb leírásra van szükség, akkor ide csak egy cím kerüljön és az [optional body] részbe kerüljön a leírás.
- [optional body]: Ide kerülhet mondatokban, felsorolásban összefoglalt leírás.
- [optional footer(s)]
- Resolves: Meg lehet adni, hogy az adott fejlesztés vagy javítás milyen projektet vagy ticketeket old meg.
- BREAKING CHANGE: Külön le lehet írni a fix!/feat! mellett, hogy mi okozhat törést.
- [optional scope]:
- A kódbázis egy szekciójára kell utaljon.
- A következő scope-ok vannak definiálva ehhez a projekthez:
- doc: Csak dokumentációt, pl. README.md-t érintő módosítások esetén használatos.
- error: Error osztályokkal kapcsolatos kód módosítás esetén használatos.
- status: Status kód módosítások esetén használatos.
- type:
- VS Code használata esetén a git commit parancs kiadását követően a VS Code egy szövegszerkesztőt nyit meg, amelyben kényelmesen szerkeszthető a commit message.
- Példa:
git add . git commit
- Ekkor a VS Code felnyit egy szövegszerkesztőt. Mentés és bezárás után kész a commit.
- Példa:
- Gitlab-on a merge request feladásánál a következőképpen kell eljárni:
-
Title
részhez a CC ezen részét töltjük ki:
<type>[optional scope]: <description/title>
-
Description
résznél pedig a maradék rész kerül be, tehát:[optional body] [optional footer(s)]
-
Title
ésDescription
mindkét rendszer esetén van. - Gitlab esetén pipáljuk be a
Squash commits when merge request is accepted.
részt is.
-