3. témakör · Ágak és összefésülés · 15. fejezet
A projekt életében vannak kitüntetett pillanatok: az első kiadás, egy leadott beadandó, egy új verzió. Ezeket címkével (tag)
jelöljük meg, amely az ággal ellentétben nem mozdul el. Megtanulod a git tag használatát, a
szemantikus verziózás (SemVer) szabályait, és azt, hogyan lesz egy címkéből GitHub Release.
git tag, git show, git describe).A címke (tag) egy név, amely egy commitra mutat, akárcsak az ág. A különbség: az ág commitkor továbblép, a címke mindig ugyanazon a commiton marad. Olyan, mint egy könyvjelző a történetben.
v1.0.0, v1.1.0, v2.0.0-beta.1. Így bármikor pontosan előveheted, mi volt benne egy verzióban.beadando-1, felevi-bemutato, demo-2026-10.git log a címkét is kiírja: (tag: v1.0.0). A címkével ugyanúgy hivatkozhatsz a commitra, mint a hash-sel:
git show v1.0.0, git diff v1.0.0 v1.1.0.| Könnyű (lightweight) | Annotált (annotated) | |
|---|---|---|
| Létrehozás | git tag v1.0.0 | git tag -a v1.0.0 -m "Első kiadás" |
| Mit tárol? | csak a commit hash-ét (mint egy ág, csak nem mozdul) | saját objektum: ki, mikor címkézte, üzenet (akár aláírás is) |
git show | csak a commitot mutatja | előbb a címke adatait (Tagger, dátum, üzenet), utána a commitot |
| Mire való? | ideiglenes, saját jelölés | kiadások, mindaz, amit mások is látnak |
PS> git show v1.0.0 tag v1.0.0 Tagger: Kovács Anna <kovacs.anna@pelda.hu> Date: Wed Aug 26 10:00:00 2026 +0200 Első kiadás: mai időjárás commit 6b1e04f… (tag: v1.0.0) Author: Kovács Anna <kovacs.anna@pelda.hu> …
| Parancs | Mit csinál? |
|---|---|
git tag · git tag -l "v1.*" | kilistázza a címkéket (mintára szűrve) |
git tag -a v1.1.0 -m "…" | annotált címke a mostani commitra (HEAD) |
git tag -a v1.0.1 6b1e04f -m "…" | címke egy korábbi commitra |
git show v1.1.0 | a címke és a commit adatai |
git log --oneline v1.0.0..v1.1.0 | mi került be a két verzió között (a kiadási jegyzethez) |
git describe | a legközelebbi címke és a távolság: v1.1.0-2-g4c7a1e9 (2 commit a v1.1.0 óta) |
git switch --detach v1.0.0 | a régi verzió megnyitása (leválasztott HEAD, 11. fejezet) |
git tag -d v1.1.0 | helyi címke törlése |
git push origin v1.1.0 · git push --tags | címke feltöltése a GitHubra: a sima git push nem viszi fel (18. fejezet) |
Egy közzétett címkére mások hivatkoznak: letöltötték, építettek belőle. Ha egy kiadásban hiba van, ne mozgasd át a v1.1.0-t, hanem
adj ki egy új verziót (v1.1.1). A címke átírása (git tag -f) csak még fel nem töltött címkénél ártalmatlan.
A Semantic Versioning (semver.org) a legelterjedtebb verziószám-szabály. A szám három részből áll:
3.0.0-beta.1, 3.0.0-rc.1 (release candidate). Ez „kisebb”, mint a 3.0.0.v betűvel kezdődik (v2.4.1), maga a verziószám a 2.4.1.A Conventional Commits (7. fejezet) és a SemVer összeillik: a legutóbbi kiadás óta volt feat! vagy BREAKING CHANGE? → MAJOR.
Volt feat? → MINOR. Csak fix? → PATCH. Csak docs, style, chore? → a felhasználót nem érinti,
új kiadás nem feltétlenül kell. Ezt eszközök automatikusan is elvégzik.
A mostani verzió 2.4.1. Melyik részét kell emelni a változás miatt?
Írd be (vagy módosítsd) a legutóbbi kiadás óta készült commitok tárgysorát, és a tervező a Conventional Commits típusok alapján kiszámolja a következő verziót, megírja a kiadási jegyzetet és a szükséges parancsokat.
A feltöltött címkék a repó Tags oldalán látszanak (…/tags), mindegyikhez letölthető ZIP-pel. A Release (kiadás) egy
címkére épülő, a GitHub által kezelt oldal: cím, leírás, letölthető fájlok.
v1.5.0) → Create new tag on publish, és válaszd ki a cél ágat.Egy iskolai projekt leadásakor készíts beadando-1 címkét és hozzá Release-t: a tanár pontosan azt az állapotot nézi meg, amelyet leadtál, még ha
utána tovább is dolgozol a repóban.
Az idojaras alkalmazás első kiadása (v1.0.0) óta néhány commit készült. Döntsd el, milyen verzió jön, címkézd,
javíts, és adj ki javítóverziót is!
⭐ alap · ⭐⭐ haladó · ⭐⭐⭐ kihívás
A saját repódban hozz létre egy könnyű és egy annotált címkét! Hasonlítsd össze a git show kimenetét a kettőnél.
Egy program verziója 0.9.3. Sorold fel, milyen verziószám jön ezek után, sorban: hibajavítás; új funkció; az első stabil kiadás; egy nem kompatibilis változás; egy előzetes kiadás a következő fő verzióból.
Nézz meg egy népszerű nyílt forráskódú projekt (pl. a microsoft/vscode vagy a git/git) Releases oldalát!
Milyen verziószámokat használnak? Mi van egy kiadási jegyzetben?
Két címke között listázd a változásokat (git log --oneline v1.0.0..v1.1.0), és a Kiadás-tervezővel írd meg belőlük a kiadási jegyzetet.
Egyezik a tervező javaslata azzal a verzióval, amit a projekt valóban kiadott?
A saját GitHub-repódban készíts Release-t egy új címkével (Create new tag on publish), a leírást a Generate release notes gombbal indítsd. Utána a gépeden
futtasd a git fetch --tags parancsot (18. fejezet), és nézd meg, megjelent-e a címke.
A GitHub Desktop History fülén címkézz meg egy régebbi commitot, és töltsd fel. Keresd meg a címkét a GitHub Tags oldalán, és töltsd le az akkori állapot ZIP-jét.
Nézz utána, mit csinál a git tag -s (aláírt címke), és miért fontos a nagy projekteknél! Írj róla egy rövid összefoglalót a csapatnak.
Az egyválasztós kérdéseknél kattints a válaszra. A többválasztósaknál jelöld be az összes helyeset, majd nyomd meg az Ellenőrzés gombot.
| Fogalom | Jelentés |
|---|---|
| címke (tag) | egy commitra mutató, el nem mozduló név (pl. egy kiadás jelölése) |
| könnyű címke | csak a commit hash-ét tárolja: git tag név |
| annotált címke | saját objektum a címkéző nevével, dátummal, üzenettel: git tag -a név -m "…" |
| SemVer | MAJOR.MINOR.PATCH verziószám: nem kompatibilis · új funkció · javítás |
| előzetes kiadás | pl. 3.0.0-beta.1, 3.0.0-rc.1; a végleges 3.0.0 előtti változat |
git describe | a legközelebbi címke és az azóta készült commitok száma: v1.1.0-2-g4c7a1e9 |
| Release | a GitHub kiadásoldala egy címke alapján: cím, leírás, letölthető fájlok |
| kiadási jegyzet (release notes) | a verzió változásainak ember által olvasható összefoglalója |
git push --tags | a helyi címkék feltöltése (a sima push nem viszi őket) |
git tag -a v1.1.0 -m "…"; ideiglenes jelöléshez elég a könnyű.git tag · git show · git describe · git tag -d · git push origin v1.1.0 / --tags.-rc.1.Ezzel a helyi munka és az ágak eszköztára teljes. A következő témakörben jön a GitHub: először a biztonságos bejelentkezés, HTTPS-sel és SSH-val.