19 KiB
Bevezetés a GitHubhoz
Ez a lecke a GitHub alapjait tárgyalja, amely egy platform a kód tárolására és változtatások kezelésére.
Sketchnote készítette: Tomomi Imura
Előzetes kvíz
Bevezetés
Ebben a leckében az alábbiakat tárgyaljuk:
- a munkád nyomon követése a gépeden
- projektek közös munkája másokkal
- hogyan járulhatsz hozzá nyílt forráskódú szoftverekhez
Előfeltételek
Mielőtt elkezdenéd, ellenőrizd, hogy telepítve van-e a Git. A terminálban írd be:
git --version
Ha a Git nincs telepítve, töltsd le a Gitet. Ezután állítsd be a helyi Git profilodat a terminálban:
git config --global user.name "your-name"git config --global user.email "your-email"
Ellenőrizheted, hogy a Git már konfigurálva van-e, ha beírod:
git config --list
Szükséged lesz egy GitHub-fiókra, egy kódszerkesztőre (például Visual Studio Code), és meg kell nyitnod a terminált (vagy: parancssort).
Látogass el a github.com oldalra, és hozz létre egy fiókot, ha még nincs, vagy jelentkezz be, és töltsd ki a profilodat.
✅ A GitHub nem az egyetlen kódrepozitórium a világon; vannak mások is, de a GitHub a legismertebb.
Előkészületek
Szükséged lesz egy mappára a helyi gépeden (laptop vagy PC) egy kódprojekttel, valamint egy nyilvános GitHub-repozitóriumra, amely példaként szolgál arra, hogyan járulhatsz hozzá mások projektjeihez.
Kódkezelés
Tegyük fel, hogy van egy helyi mappád egy kódprojekttel, és szeretnéd elkezdeni nyomon követni a haladásodat a git verziókezelő rendszer segítségével. Néhányan a git használatát úgy hasonlítják, mintha szerelmes levelet írnál a jövőbeli önmagadnak. Ha napokkal, hetekkel vagy hónapokkal később olvasod a commit üzeneteidet, képes leszel felidézni, miért hoztál egy döntést, vagy "visszavonni" egy változtatást - persze csak akkor, ha jó "commit üzeneteket" írsz.
Feladat: Hozz létre egy repozitóriumot és commitold a kódot
Nézd meg a videót
-
Repozitórium létrehozása a GitHubon. A GitHub.com oldalon, a repozitóriumok fülön, vagy a jobb felső navigációs sávban keresd meg az új repo gombot.
- Adj nevet a repozitóriumodnak (mappának).
- Válaszd a repozitórium létrehozása lehetőséget.
-
Navigálj a munkamappádhoz. A terminálban válts arra a mappára (más néven könyvtárra), amelyet nyomon szeretnél követni. Írd be:
cd [name of your folder] -
Git repozitórium inicializálása. A projektedben írd be:
git init -
Állapot ellenőrzése. A repozitórium állapotának ellenőrzéséhez írd be:
git statusAz eredmény valahogy így nézhet ki:
Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: file.txt modified: file2.txtA
git statusparancs általában olyan információkat ad, mint például mely fájlok készek a mentésre a repóba, vagy melyeken vannak olyan változtatások, amelyeket érdemes lehet megőrizni. -
Minden fájl hozzáadása nyomon követéshez Ezt nevezik fájlok staging területre helyezésének/hozzáadásának.
git add .A
git addplusz.argumentum azt jelzi, hogy minden fájl és változtatás nyomon követésre kerül. -
Kiválasztott fájlok hozzáadása nyomon követéshez
git add [file or folder name]Ez lehetővé teszi, hogy csak kiválasztott fájlokat adj hozzá a staging területre, ha nem szeretnéd egyszerre az összes fájlt commitolni.
-
Minden fájl unstagingelése
git resetEz a parancs segít egyszerre unstagingelni az összes fájlt.
-
Egy adott fájl unstagingelése
git reset [file or folder name]Ez a parancs segít csak egy adott fájlt unstagingelni, amelyet nem szeretnél a következő commitba belefoglalni.
-
Munkád megőrzése. Ezen a ponton hozzáadtad a fájlokat az úgynevezett staging területre. Ez egy hely, ahol a Git nyomon követi a fájljaidat. Ahhoz, hogy a változtatás végleges legyen, commitolnod kell a fájlokat. Ehhez hozz létre egy commitot a
git commitparanccsal. A commit egy mentési pontot képvisel a repó történetében. Írd be a következőt egy commit létrehozásához:git commit -m "first commit"Ez commitolja az összes fájlodat, hozzáadva az "első commit" üzenetet. A jövőbeli commit üzeneteknél érdemes lesz részletesebb leírást adni, hogy közvetítsd, milyen típusú változtatást végeztél.
-
Kapcsold össze a helyi Git repódat a GitHubbal. Egy Git repó jó a gépeden, de egy ponton szeretnéd a fájljaidat valahol biztonságban tudni, és másokat is meghívni, hogy dolgozzanak veled a repón. Egy ilyen nagyszerű hely erre a GitHub. Ne feledd, már létrehoztunk egy repót a GitHubon, így csak össze kell kapcsolnunk a helyi Git repót a GitHubbal. A
git remote addparancs pontosan ezt teszi. Írd be a következő parancsot:Megjegyzés: mielőtt beírod a parancsot, menj a GitHub repó oldalára, hogy megtaláld a repozitórium URL-jét. Ezt fogod használni az alábbi parancsban. Cseréld ki
https://github.com/username/repository_name.git-et a GitHub URL-edre.git remote add origin https://github.com/username/repository_name.gitEz létrehoz egy távoli kapcsolatot, vagyis egy "origin" nevű kapcsolatot, amely az általad korábban létrehozott GitHub repozitóriumra mutat.
-
Helyi fájlok küldése a GitHubra. Eddig létrehoztál egy kapcsolatot a helyi repó és a GitHub repó között. Küldjük el ezeket a fájlokat a GitHubra a következő
git pushparancs segítségével:Megjegyzés: az alapértelmezett branch neve eltérhet a
main-től.git push -u origin mainEz elküldi a commitjaidat a "main" branchben a GitHubra. Az
upstreambranch beállítása, beleértve a-uopciót a parancsban, kapcsolatot hoz létre a helyi branch és a távoli branch között, így a jövőben egyszerűen használhatod a git push vagy git pull parancsokat anélkül, hogy meg kellene adnod a branch nevét. A Git automatikusan az upstream branch-et fogja használni, és nem kell explicit módon megadnod a branch nevet a jövőbeli parancsokban. -
További változtatások hozzáadása. Ha folytatni szeretnéd a változtatások végrehajtását és azok GitHubra történő feltöltését, csak a következő három parancsot kell használnod:
git add . git commit -m "type your commit message here" git pushTipp: Érdemes lehet egy
.gitignorefájlt is alkalmazni, hogy megakadályozd, hogy olyan fájlok, amelyeket nem szeretnél nyomon követni, megjelenjenek a GitHubon - például az a jegyzetfájl, amelyet ugyanabban a mappában tárolsz, de nincs helye egy nyilvános repozitóriumban..gitignorefájl sablonokat találhatsz itt: .gitignore templates.
Commit üzenetek
Egy nagyszerű Git commit tárgysor a következő mondatot egészíti ki: Ha alkalmazzuk, ez a commit <ide jön a tárgysorod>
A tárgyban használj felszólító, jelen idejű igét: "változtat" nem "változtatott" vagy "változtatások".
Ahogy a tárgyban, a törzsben (opcionális) is használj felszólító, jelen idejű igét. A törzsnek tartalmaznia kell a változtatás motivációját, és kontrasztot kell állítania a korábbi viselkedéssel. A miértet magyarázod, nem a hogyan.
✅ Szánj néhány percet arra, hogy böngéssz a GitHubon. Találsz egy igazán nagyszerű commit üzenetet? Találsz egy igazán minimálisat? Szerinted milyen információk a legfontosabbak és leghasznosabbak egy commit üzenetben?
Feladat: Együttműködés
A fő ok, amiért dolgokat feltöltünk a GitHubra, az az, hogy lehetővé tegyük más fejlesztőkkel való együttműködést.
Projektek közös munkája másokkal
Nézd meg a videót
A repozitóriumodban navigálj az Insights > Community menüpontra, hogy megnézd, hogyan viszonyul a projekted az ajánlott közösségi szabványokhoz.
Íme néhány dolog, ami javíthatja a GitHub repódat:
- Leírás. Adtál leírást a projektedhez?
- README. Készítettél README-t? A GitHub útmutatást nyújt a README írásához.
- Hozzájárulási irányelvek. Van a projektednek hozzájárulási irányelve?
- Magatartási kódex. Van magatartási kódex?
- Licenc. Talán a legfontosabb, van licenc?
Ezek az erőforrások elősegítik az új csapattagok beilleszkedését. Ezek azok a dolgok, amelyeket az új hozzájárulók általában megnéznek, mielőtt a kódodat megvizsgálnák, hogy eldöntsék, a projekted megfelelő hely-e számukra, hogy idejükből áldozzanak rá.
✅ A README fájlok, bár időt igényelnek az elkészítésük, gyakran elhanyagoltak az elfoglalt karbantartók által. Találsz példát egy különösen leíró jellegű README-re? Megjegyzés: vannak eszközök, amelyek segítenek jó README-ket készíteni, amelyeket érdemes kipróbálni.
Feladat: Kód összevonása
A hozzájárulási dokumentumok segítenek az embereknek hozzájárulni a projekthez. Elmagyarázzák, milyen típusú hozzájárulásokat keresel, és hogyan működik a folyamat. A hozzájárulóknak egy sor lépést kell követniük, hogy hozzájárulhassanak a GitHub repódhoz:
- A repód forkja. Valószínűleg azt szeretnéd, hogy az emberek forkolják a projektedet. A forkolás azt jelenti, hogy létrehoznak egy másolatot a repozitóriumodról a GitHub profiljukon.
- Klónozás. Innen klónozzák a projektet a helyi gépükre.
- Branch létrehozása. Kérd meg őket, hogy hozzanak létre egy branch-et a munkájukhoz.
- Változtatás egy területre koncentrálása. Kérd meg a hozzájárulókat, hogy egyszerre egy dologra koncentrálják a hozzájárulásaikat - így nagyobb az esélye, hogy össze tudod vonni a munkájukat. Képzeld el, hogy írnak egy hibajavítást, hozzáadnak egy új funkciót, és frissítenek több tesztet - mi van, ha csak 2-ből 3-at, vagy 1-ből 3 változtatást tudsz vagy akarsz megvalósítani?
✅ Képzelj el egy helyzetet, ahol a branch-ek különösen kritikusak a jó kód írásához és szállításához. Milyen felhasználási esetek jutnak eszedbe?
Megjegyzés: légy te magad a változás, amit látni szeretnél a világban, és hozz létre branch-eket a saját munkádhoz is. Bármilyen commitot készítesz, az azon a branch-en lesz, amelyen éppen "ki vagy jelentkezve". Használd a
git statusparancsot, hogy lásd, melyik branch az.
Nézzük meg egy hozzájáruló munkafolyamatát. Tegyük fel, hogy a hozzájáruló már forkolta és klónozta a repót, így van egy Git repója, amely készen áll a munkára a helyi gépén:
-
Branch létrehozása. Használd a
git branchparancsot egy branch létrehozásához, amely tartalmazza azokat a változtatásokat, amelyeket hozzájárulni szeretnél:git branch [branch-name] -
Váltás a munkabranch-re. Válts az adott branch-re, és frissítsd a munkakönyvtárat a
git switchparanccsal:git switch [branch-name] -
Munka elvégzése. Ezen a ponton hozzáadhatod a változtatásaidat. Ne felejtsd el tájékoztatni a Gitet a következő parancsokkal:
git add . git commit -m "my changes"Ügyelj arra, hogy jó nevet adj a commitodnak, a saját érdekedben, valamint annak a repó karbantartójának érdekében, akinek segítesz.
-
Munkád összevonása a
mainbranch-csel. Egy ponton befejezed a munkát, és szeretnéd összevonni a munkádat amainbranch-csel. Amainbranch időközben változhatott, ezért győződj meg róla, hogy először frissíted a legújabb verzióra a következő parancsokkal:git switch main git pullEzen a ponton győződj meg róla, hogy minden konfliktus, olyan helyzetek, ahol a Git nem tudja könnyen összevonni a változtatásokat, a munkabranch-edben történik. Ezért futtasd a következő parancsokat:
git switch [branch_name] git merge mainA
git merge mainparancs behozza az összes változtatást amainbranch-ből a branch-edbe. Remélhetőleg folytathatod a munkát. Ha nem, a VS Code megmutatja, hol van a Git _z -
Nyiss egy PR-t. Következő lépésként nyiss egy PR-t. Ezt úgy teheted meg, hogy navigálsz a GitHubon a forkolt repóhoz. A GitHubon látni fogsz egy jelzést, amely megkérdezi, hogy szeretnél-e új PR-t létrehozni. Kattints rá, és egy felületre kerülsz, ahol módosíthatod a commit üzenet címét, és adhatsz neki egy megfelelőbb leírást. Most a forkolt repó karbantartója látni fogja ezt a PR-t, és remélhetőleg értékelni fogja, majd összevonja a PR-t. Mostantól te is hozzájáruló vagy, hurrá! :)
-
Takarítás. Jó gyakorlatnak számít, ha kitakarítasz miután sikeresen összevonták a PR-t. Takarítsd ki mind a helyi branch-edet, mind azt a branch-et, amit GitHubra feltöltöttél. Először töröld helyben a következő parancs segítségével:
git branch -d [branch-name]Ezután menj a GitHub oldalára a forkolt repóhoz, és távolítsd el a távoli branch-et, amit éppen feltöltöttél.
A Pull request kifejezés elsőre furcsának tűnhet, hiszen valójában a változtatásaidat szeretnéd feltölteni a projekthez. Azonban a karbantartónak (projekt tulajdonosának) vagy a core csapatnak meg kell fontolnia a változtatásaidat, mielőtt összevonják a projekt "main" branch-ével, tehát valójában egy döntést kérsz a karbantartótól a változtatásról.
A pull request egy hely, ahol összehasonlíthatod és megvitathatod az adott branch által bevezetett különbségeket, véleményekkel, megjegyzésekkel, integrált tesztekkel és egyebekkel. Egy jó pull request nagyjából ugyanazokat a szabályokat követi, mint egy commit üzenet. Hivatkozhatsz egy problémára az issue trackerben, például ha a munkád megold egy problémát. Ezt úgy teheted meg, hogy egy # jelet írsz, amit a probléma száma követ. Például #97.
🤞Reméljük, hogy minden ellenőrzés sikeresen lezajlik, és a projekt tulajdonosa(i) összevonják a változtatásaidat a projektbe🤞
Frissítsd a jelenlegi helyi munkabranch-edet az összes új commit-tal, amely a GitHubon lévő megfelelő távoli branch-en található:
git pull
Hogyan járulj hozzá nyílt forráskódú projektekhez
Először keress egy GitHub repót, amely érdekel, és amelyhez szeretnél hozzájárulni. A repó tartalmát le kell másolnod a gépedre.
✅ Jó módja annak, hogy 'kezdőbarát' repókat találj, ha a 'good-first-issue' címkére keresel.
Számos módja van a kód másolásának. Az egyik módja, hogy "klónozod" a repó tartalmát HTTPS, SSH vagy a GitHub CLI (Command Line Interface) segítségével.
Nyisd meg a terminált, és klónozd a repót így:
git clone https://github.com/ProjectURL
A projekten való munka érdekében lépj be a megfelelő mappába:
cd ProjectURL
A teljes projektet megnyithatod Codespaces, a GitHub beépített kódszerkesztőjével / felhőalapú fejlesztési környezetével, vagy GitHub Desktop segítségével is.
Végül letöltheted a kódot egy tömörített mappában.
Néhány további érdekesség a GitHubról
Bármely nyilvános repót a GitHubon csillagozhatsz, követhetsz és/vagy "forkolhatsz". A csillagozott repóidat a jobb felső legördülő menüben találod. Ez olyan, mint a könyvjelzőzés, csak kódhoz.
A projekteknek van egy issue trackerük, többnyire a GitHubon az "Issues" fül alatt, hacsak másképp nincs jelezve, ahol az emberek a projekttel kapcsolatos problémákat vitatják meg. Az "Pull Requests" fül pedig az a hely, ahol az emberek a folyamatban lévő változtatásokat vitatják meg és véleményezik.
A projekteknek lehetnek fórumai, levelezőlistái vagy csevegőcsatornái, mint például Slack, Discord vagy IRC.
✅ Nézz körül az új GitHub repódban, és próbálj ki néhány dolgot, például a beállítások szerkesztését, információk hozzáadását a repóhoz, és egy projekt létrehozását (például egy Kanban táblát). Rengeteg dolgot tehetsz!
🚀 Kihívás
Dolgozz együtt egy barátoddal egymás kódján. Hozzatok létre közösen egy projektet, forkoljatok kódot, hozzatok létre branch-eket, és vonjátok össze a változtatásokat.
Előadás utáni kvíz
Áttekintés és önálló tanulás
Olvass többet a nyílt forráskódú szoftverekhez való hozzájárulásról.
Gyakorolj, gyakorolj, gyakorolj. A GitHub remek tanulási útvonalakat kínál a skills.github.com oldalon:
Itt további haladó kurzusokat is találsz.
Feladat
Teljesítsd az Első hét a GitHubon kurzust
Felelősség kizárása:
Ez a dokumentum az Co-op Translator AI fordítási szolgáltatás segítségével lett lefordítva. Bár törekszünk a pontosságra, kérjük, vegye figyelembe, hogy az automatikus fordítások hibákat vagy pontatlanságokat tartalmazhatnak. Az eredeti dokumentum az eredeti nyelvén tekintendő hiteles forrásnak. Fontos információk esetén javasolt professzionális emberi fordítást igénybe venni. Nem vállalunk felelősséget semmilyen félreértésért vagy téves értelmezésért, amely a fordítás használatából eredhet.



