5. témakör · Csapatmunka GitHubon · 23. fejezet
A kód mellett a munkát is szervezni kell: mi a hiba, mi a következő feladat, ki dolgozik rajta, és mi készül el a bemutatóig? A GitHubon erre valók az issue-k (feladatok, hibajegyek), a címkék, a mérföldkövek és a Projects tábla, amely Kanban-módszerrel mutatja a munka állását. A legszebb az egészben: egy commitüzenet vagy egy PR leírása magától le tudja zárni a feladatot.
Fixes #12 kulcsszóval automatikusan lezárod.Az issue egy bejegyzés a repó Issues fülén: egy hiba, egy új funkció ötlete, egy kérdés vagy egy teendő. Mindegyiknek van sorszáma (#12), címe, leírása, hozzászólásai és állapota (Open / Closed). Az issue-k és a PR-ok közös számsort használnak: ha a #12 egy issue, a következő PR a #13 lesz.
Mi történt? A Hírek oldalon a kirándulás dátuma május 10., pedig május 17.
Hogyan idézhető elő? 1. Nyisd meg a hirek.html-t. 2. Nézd a második bekezdést.
Mit vártál? Május 17.
Az issue konkrét, elvégezhető feladat. A nyitott beszélgetésekre, kérdésekre sok repóban a Discussions fül való. A PR pedig maga a
megoldás, kóddal. A jó menet: issue (mi a gond?) → ág → PR (Fixes #12) → merge → az issue magától lezárul.
Egy jó issue-ból a csapat bármelyik tagja megérti a feladatot, és nem kell visszakérdeznie. Két gyakori fajta:
🐞 Hibajelentés (bug report)
## Mi történt? A menü mobilon nem nyílik le. ## Hogyan idézhető elő? 1. Nyisd meg a főoldalt telefonon 2. Koppints a ☰ ikonra ## Mit vártál? Lenyílik a menü. ## Környezet Android 14, Chrome 128
✨ Új funkció (feature request)
## Probléma A szülők nem találják a fogadóórák időpontját. ## Javaslat Kapcsolat oldal az osztályfőnök elérhetőségével. ## Kész, ha - [ ] van kapcsolat.html - [ ] a főoldalról elérhető - [ ] mobilon is olvasható
- [ ] feladatlista jelölőnégyzetként jelenik meg, a lista fölött pedig a haladás (pl. 1 of 3 tasks)..github/ISSUE_TEMPLATE/ mappába tett sablonokkal a GitHub űrlapot kínál (Bug report, Feature request).Írj egy hibajelentést! Az ellenőrző gépelés közben jelzi, mi hiányzik még belőle. Ötlet: a galéria képei mobilon kilógnak a képernyőből.
| Alapcímke | Mikor? |
|---|---|
| bug | valami nem úgy működik, ahogy kellene |
| enhancement | új funkció vagy fejlesztés |
| documentation | a dokumentáció (README, leírások) javítása, bővítése |
| question | kérdés, további információ kell |
| good first issue | kezdőknek ajánlott, könnyű feladat |
| help wanted | segítséget várnak hozzá |
| duplicate · invalid · wontfix | már bejelentették · nem valós hiba · nem javítjuk |
Saját címkéket is létrehozhatsz (Issues → Labels → New label), pl. frontend, sürgős. A címkékkel szűrsz is:
is:issue is:open label:bug, assignee:@me, milestone:v1.0, no:assignee.
Válaszd ki a legjobban illő címkét az issue címe alapján.
Bárhol a GitHubon (commitüzenet, PR, hozzászólás) a #12 link lesz a 12-es issue-ra, és az issue idővonalán is megjelenik, hogy hivatkoztak rá.
Másik repó issue-ja: toth-peter/receptek#3.
PS> git commit -m "fix: helyes dátum a hírekben" -m "Fixes #12"
| Kulcsszó (bármelyik alakja) | Hatása |
|---|---|
close, closes, closed | ha a PR beolvad az alapértelmezett ágba (vagy a commit oda kerül), a GitHub lezárja az issue-t, és kiírja: closed this as completed in #13 |
fix, fixes, fixed | |
resolve, resolves, resolved |
Fixes #12 még nem.Fixes #12, fixes #15 (minden számhoz kell a kulcsszó).12-hibas-datum-a-hirekben), és megmondja, hogyan hozd le:
git fetch origin, git switch 12-hibas-datum-a-hirekben.A Kanban egy japán eredetű munkaszervezési módszer: a feladatok kártyák, a munka állapotai oszlopok, és a kártyák balról jobbra haladnak. Egy pillantással látszik, mi vár, mi folyamatban van, és mi kész.
A GitHub Projects ezt valósítja meg: a fiókodhoz (vagy szervezetedhez) tartozó tábla, amelyre több repó issue-it és PR-jait is felteheted.
| Funkció | Mit tud? |
|---|---|
| Board nézet | Kanban-tábla: oszlopok a Status mező szerint (Todo, In Progress, Done), a kártyákat húzod |
| Table nézet | táblázat szűréssel, rendezéssel, csoportosítással, saját mezőkkel (pl. prioritás, becslés) |
| Roadmap nézet | idővonal dátumokkal, mérföldkövekkel |
| Draft elem | gyors ötlet a táblán, amelyből később valódi issue lehet (Convert to issue) |
| Workflows | automatizmusok: Item closed → Done, Pull request merged → Done, Auto-add (új issue-k magától a táblára kerülnek) |
| Lezárás módja | Mikor? |
|---|---|
| Close as completed (lila ikon) | a feladat elkészült — ezt csinálja a Fixes #12 is |
| Close as not planned (szürke ikon) | nem csináljuk meg: elvetett ötlet, nem reprodukálható hiba, wontfix |
| Duplicate | már van ilyen issue: hozzászólásban hivatkozz rá (Duplicate of #8), és zárd le |
A lezárt issue nem vész el: az Issues fülön a Closed szűrővel bármikor megtalálod, és a Reopen issue gombbal újranyitható. Törölni csak a repó adminja tud, és ritkán van rá szükség.
A osztalyoldal repóban már van néhány issue. Szervezd meg a munkát: mérföldkő, új hibajegy, Projects tábla — majd javítsd a hibát úgy, hogy a commitod
magától lezárja az issue-t!
⭐ alap · ⭐⭐ haladó · ⭐⭐⭐ kihívás
Egy saját repódban nyiss három issue-t (egy hibát, egy új funkciót, egy dokumentációs feladatot), és lásd el őket a megfelelő címkével.
Hozz létre egy mérföldkövet határidővel, rendeld hozzá az issue-kat, és figyeld a százalékos sávot, ahogy lezárod őket.
Javíts egy hibát egy ágon, és a PR leírásába írd: Fixes #…. Beolvasztás után ellenőrizd, hogy az issue lezárult-e, és mit ír az idővonala.
Készíts GitHub Projects táblát (Board nézet), tedd rá a repó issue-it, és kapcsold be az Auto-add és az Item closed automatizmust. Nyiss egy új issue-t: magától megjelenik?
Készíts issue-sablont: .github/ISSUE_TEMPLATE/hibajelentes.md a fejezet szerkezetével. Próbáld ki a New issue gombbal.
Gyakorold a szűrést: keresd meg a is:issue is:open label:bug no:assignee feltételnek megfelelő issue-kat. Mit jelent ez a lista a csapat számára?
Csapatban: tervezzetek meg egy kéthetes „sprintet” a projektetekhez a Projects táblán (legalább 8 kártya, felelősökkel, WIP-limit: fejenként 1). A két hét végén nézzétek meg, mi maradt Todo-ban, és miért.
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 |
|---|---|
| issue | feladat, hibajegy vagy ötlet a repóban, sorszámmal (#12) |
| label (címke) | színes jelölő a rendszerezéshez és szűréshez (bug, enhancement, …) |
| assignee (felelős) | aki az issue-n / PR-on dolgozik |
| milestone (mérföldkő) | cél, amelyhez issue-k és PR-ok tartoznak, határidővel és készültségi sávval |
| záró kulcsszó | Fixes / Closes / Resolves #12: a default ágba kerüléskor lezárja az issue-t |
| Kanban | munkaszervezési módszer: kártyák oszlopokban (Todo → In Progress → Done), korlátozott folyamatban lévő munkával |
| GitHub Projects | a GitHub táblája (Board, Table, Roadmap nézet) issue-k és PR-ok követésére |
| workflow (Projects) | automatizmus, pl. lezárt elem → Done oszlop |
| completed / not planned | a lezárás két oka: elkészült / nem csináljuk meg |
| issue template | sablon az új issue-khoz (.github/ISSUE_TEMPLATE/) |
label:bug assignee:@me milestone:v1.0.#12 hivatkozás mindenhol; Fixes #12 a PR-ban vagy commitban: a default ágba kerüléskor lezárja az issue-t.A következő fejezetben mindezt összerakjuk egyetlen munkafolyamattá: jön a GitHub Flow és a védett main ág.