Vezérlőpult
15. Címkék és verziószámok · Ágak és összefésülés

3. témakör · Ágak és összefésülés · 15. fejezet

Címkék és verziószámok

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.

CLI + WebKiadás-tervezőVerzió-besorolóSzimulátor15 kvízkérdés

Tanulási célok

1Mi a címke?

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.

2Könnyű és annotált címke

Könnyű (lightweight)Annotált (annotated)
Létrehozásgit tag v1.0.0git 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 showcsak a commitot mutatjaelőbb a címke adatait (Tagger, dátum, üzenet), utána a commitot
Mire való?ideiglenes, saját jelöléskiadá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>
…

3A címkék parancsai

ParancsMit 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.0a címke és a commit adatai
git log --oneline v1.0.0..v1.1.0mi került be a két verzió között (a kiadási jegyzethez)
git describea 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.0a régi verzió megnyitása (leválasztott HEAD, 11. fejezet)
git tag -d v1.1.0helyi címke törlése
git push origin v1.1.0 · git push --tagscímke feltöltése a GitHubra: a sima git push nem viszi fel (18. fejezet)
⚠️ FELTÖLTÖTT CÍMKÉT NE HELYEZZ ÁT

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.

4Szemantikus verziózás (SemVer)

A Semantic Versioning (semver.org) a legelterjedtebb verziószám-szabály. A szám három részből áll:

2MAJORfő verzió: nem kompatibilis változás (ami eddig működött, már nem biztos)
.
4MINORalverzió: új funkció, a régiek változatlanul működnek
.
1PATCHjavítóverzió: hibajavítás, új funkció nélkül
ℹ️ A COMMITÜZENETEKBŐL KIOLVASHATÓ

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.

Melyik rész nő?

A mostani verzió 2.4.1. Melyik részét kell emelni a változás miatt?

1 / 8Pontszám: 0
…

5Kiadás-tervező

Í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.

Mi lesz a következő verzió?

Minták:
Kiadási jegyzet (Markdown előnézet)
Parancsok

      

6Címkék és Release-ek a GitHubon

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.

  1. A repó jobb oldalsávjában Releases → Create a new release (vagy Draft a new release).
  2. Choose a tag: egy meglévő címke, vagy írj be egy újat (v1.5.0) → Create new tag on publish, és válaszd ki a cél ágat.
  3. Cím (pl. v1.5.0: sötét téma) és leírás. A Generate release notes gomb összegyűjti a legutóbbi kiadás óta beolvasztott pull requesteket.
  4. Fájlok csatolása (pl. lefordított program), szükség esetén Set as a pre-release.
  5. Publish release. A követők értesítést kapnak, és a repó főoldalán megjelenik a legfrissebb kiadás.
💡 BEADANDÓHOZ IS JÓ

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.

7Címkék a Desktopban és a VS Code-ban

Desktop GitHub Desktop
  • History fül → jobb klikk egy commiton → Create Tag…: megadod a nevet (könnyű címkét készít).
  • A címke megjelenik a commit mellett; a következő Push origin a címkét is feltölti.
  • A még fel nem töltött címke jobb klikkel törölhető (Delete Tag…). Release-t a GitHub weboldalán készíts.
IDE VS Code
  • Ctrl+Shift+P → Git: Create Tag (név és üzenet: annotált címke), Git: Delete Tag, Git: Push Tags.
  • A Source Control panel … menüjében: Tags almenü.

8Gyakorlás a szimulátorban

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!

PowerShell + Git

Windows PowerShell
Küldetések 0 / 9
    Az idojaras repó commitgráfja

    9Feladatok

    Gyakorló feladatok

    ⭐ alap · ⭐⭐ haladó · ⭐⭐⭐ kihívás

    15.1⭐CLI

    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.

    15.2⭐

    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.

    15.3⭐Web

    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?

    15.4⭐⭐CLI

    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?

    15.5⭐⭐Web

    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.

    15.6⭐⭐Desktop

    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.

    15.7⭐⭐⭐

    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.

    10Önellenőrző kvíz

    Ellenőrizd magad!

    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.

    11Fogalomtár

    FogalomJelentés
    címke (tag)egy commitra mutató, el nem mozduló név (pl. egy kiadás jelölése)
    könnyű címkecsak a commit hash-ét tárolja: git tag név
    annotált címkesaját objektum a címkéző nevével, dátummal, üzenettel: git tag -a név -m "…"
    SemVerMAJOR.MINOR.PATCH verziószám: nem kompatibilis · új funkció · javítás
    előzetes kiadáspl. 3.0.0-beta.1, 3.0.0-rc.1; a végleges 3.0.0 előtti változat
    git describea legközelebbi címke és az azóta készült commitok száma: v1.1.0-2-g4c7a1e9
    Releasea 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 --tagsa helyi címkék feltöltése (a sima push nem viszi őket)

    12Összegzés

    1. A címke egy commitra mutató név, amely nem mozdul; kiadások és mérföldkövek jelölésére való.
    2. Kiadáshoz annotált címke: git tag -a v1.1.0 -m "…"; ideiglenes jelöléshez elég a könnyű.
    3. git tag · git show · git describe · git tag -d · git push origin v1.1.0 / --tags.
    4. SemVer: MAJOR (nem kompatibilis) . MINOR (új funkció) . PATCH (javítás); a jobbra lévők nullázódnak; előzetes kiadás: -rc.1.
    5. A GitHubon a címkéből Release készül (cím, leírás, fájlok); feltöltött címkét nem helyezünk át.

    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.