19 KiB
Bevezetés a GitHub használatába
Ez a lecke a GitHub alapjait ismerteti, amely egy platform a kód tárolására és változásainak kezelésére.
Sketchnote készítette: Tomomi Imura
Előzetes kvíz
Bevezetés
Ebben a leckében az alábbiakat fogjuk áttekinteni:
- a munkád nyomon követése a saját 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 Git-et. Ezután állítsd be a helyi Git profilt 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 nem tetted meg, vagy jelentkezz be, és töltsd ki a profilodat.
✅ A GitHub nem az egyetlen kód-tároló a világon; vannak mások is, de a GitHub a legismertebb.
Felkészülés
Szükséged lesz egy mappára a helyi gépeden (laptop vagy PC), amely tartalmaz egy kódprojektet, valamint egy nyilvános GitHub-tárhelyre, amely példaként szolgál arra, hogyan járulhatsz hozzá mások projektjeihez.
Kódkezelés
Tegyük fel, hogy van egy mappád helyben, amely tartalmaz egy kódprojektet, és szeretnéd elkezdeni nyomon követni a haladásodat a git verziókezelő rendszer segítségével. Néhányan úgy hasonlítják a git használatát, mintha szerelmes levelet írnál a jövőbeli önmagadnak. Ha napokkal, hetekkel vagy hónapokkal később olvasod a commit üzeneteidet, emlékezni fogsz arra, miért hoztál egy adott döntést, vagy vissza tudsz állítani egy változtatást – persze csak akkor, ha jó "commit üzeneteket" írsz.
Feladat: Hozz létre egy tárhelyet és commitolj kódot
Nézd meg a videót
-
Tárhely létrehozása a GitHub-on. A GitHub.com oldalon, a tárhelyek fülön, vagy a jobb felső navigációs sávban keresd meg az új tárhely gombot.
- Adj nevet a tárhelyednek (mappának).
- Válaszd ki a tárhely létrehozása opciót.
-
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 tárhely inicializálása. A projektedben írd be:
git init
-
Állapot ellenőrzése. A tárhely állapotának ellenőrzéséhez írd be:
git status
Az 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.txt
Általában a
git status
parancs olyan információkat ad, mint például mely fájlok állnak készen a mentésre a tárhelyen, vagy melyeken vannak olyan változások, amelyeket érdemes lehet megőrizni. -
Minden fájl hozzáadása nyomon követéshez
Ezt nevezik fájlok staging területre való hozzáadásának.git add .
A
git add
plusz.
argumentum azt jelzi, hogy minden fájl és változá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 segít abban, hogy csak kiválasztott fájlokat adj hozzá a staging területre, amikor nem akarod egyszerre az összes fájlt commitolni.
-
Minden fájl unstagingelése
git reset
Ez a parancs segít egyszerre minden fájlt unstagingelni.
-
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 akarsz 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ásokat véglegessé tedd, commitolnod kell a fájlokat. Ehhez hozz létre egy commitot a
git commit
paranccsal. A commit egy mentési pontot képvisel a tárhelyed történetében. Írd be a következőt a 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 pontosan közvetítsd, milyen típusú változtatást végeztél.
-
Kapcsold össze a helyi Git tárhelyedet a GitHubbal. Egy Git tárhely jó a gépeden, de egy ponton szeretnéd a fájljaidat valahol biztonsági mentésként tárolni, és másokat is meghívni, hogy dolgozzanak veled a tárhelyeden. Egy ilyen nagyszerű hely erre a GitHub. Emlékezz, hogy már létrehoztunk egy tárhelyet a GitHubon, így csak össze kell kapcsolnunk a helyi Git tárhelyet a GitHubbal. A
git remote add
parancs pontosan ezt teszi. Írd be a következő parancsot:Megjegyzés: mielőtt beírod a parancsot, menj a GitHub tárhelyed oldalára, hogy megtaláld a tárhely 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.git
Ez létrehoz egy távoli kapcsolatot, amelyet "origin"-nek neveznek, és amely a korábban létrehozott GitHub tárhelyre mutat.
-
Helyi fájlok küldése a GitHubra. Eddig létrehoztál egy kapcsolatot a helyi tárhely és a GitHub tárhely között. Küldjük el ezeket a fájlokat a GitHubra a következő
git push
paranccsal:Megjegyzés: az alapértelmezett branch neve eltérhet
main
-től.git push -u origin main
Ez elküldi a commitjaidat a "main" branchben a GitHubra.
-
További változtatások hozzáadása. Ha folytatni szeretnéd a változtatások végrehajtását és azok GitHubra való 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 push
Tipp: Érdemes lehet egy
.gitignore
fájlt is alkalmazni, hogy megakadályozd, hogy olyan fájlok, amelyeket nem akarsz 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 tárhelyen..gitignore
fájl sablonokat találhatsz itt: .gitignore templates.
Commit üzenetek
Egy nagyszerű Git commit tárgy sor a következő mondatot fejezi be: Ha alkalmazzuk, ez a commit <ide jön a tárgy sorod>
A tárgy sorban használj felszólító, jelen idejű formát: "változtat" nem "változtatott" vagy "változtatások".
Ahogy a tárgy sorban, a törzsben (opcionális) is használj felszólító, jelen idejű formát. A törzsnek tartalmaznia kell a változtatás motivációját, és ezt össze kell hasonlítani a korábbi viselkedéssel. A miértet
magyarázod, nem a hogyan-t
.
✅ 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 a dolgokat a GitHubra helyeztük, az volt, hogy lehetővé tegyük a közös munkát más fejlesztőkkel.
Közös munka másokkal
Nézd meg a videót
A tárhelyeden navigálj az Insights > Community
menüponthoz, 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 tárhelyedet:
- 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 általában azok a dolgok, amelyeket az új hozzájárulók megnéznek, mielőtt egyáltalán megnéznék a kódodat, hogy eldöntsék, a projekted megfelelő hely-e számukra, hogy időt töltsenek vele.
✅ 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 tárhelyedhez:
- Tárhelyed fork-olása. 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 tárhelyedről a GitHub profiljukon.
- Klónozás. Innen klónozzák a projektet a helyi gépükre.
- Branch létrehozása. Azt szeretnéd, hogy hozzanak létre egy branch-et a munkájukhoz.
- Változtatásuk egy területre koncentrálása. Kérd meg a hozzájárulókat, hogy koncentrálják a hozzájárulásaikat egy dologra egyszerre – így nagyobb az esélye annak, 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 status
parancsot, 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 tárhelyet, így van egy Git tárhelye, amely készen áll a munkára a helyi gépén:
-
Branch létrehozása. Használd a
git branch
parancsot egy branch létrehozásához, amely tartalmazza a változtatásokat, amelyeket hozzájárulni szeretne: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 switch
paranccsal:git switch [branch-name]
-
Munka elvégzése. Ezen a ponton hozzáadhatod a változtatásaidat. Ne felejtsd el tájékoztatni a Git-et 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 tárhely karbantartójának érdekében, akinek segítesz.
-
Munkád összevonása a
main
branch-csel. Egy ponton befejezed a munkát, és össze akarod vonni a munkádat amain
branch-csel. Amain
branch 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 pull
Ezen a ponton győződj meg arról, 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 main
Ez behozza az összes változtatást a
main
branch-ből a branch-edbe, és remélhetőleg folytathatod. Ha nem, a VS Code megmutatja, hol van a Git zavarban, és csak módosítanod kell az érintett fájlokat, hogy megmondhasd, melyik tartalom a legpontosabb. -
Munkád küldése a GitHubra. A munkád GitHubra küldése két dolgot jelent. A branch-ed feltöltése a tárhelyedre, majd egy PR (Pull Request) megnyitása.
git push --set-upstream origin [branch-name]
A fenti parancs létrehozza a branch-et a forkolt tárhelyeden.
-
**PR meg Győződj meg róla, hogy a GitHub oldalán a forkolt repóhoz tartozó távoli ágat eltávolítod, miután feltöltötted rá a változtatásaidat.
A Pull request
kifejezés elsőre furcsának tűnhet, hiszen valójában a változtatásaidat szeretnéd "feltolni" a projekthez. Azonban a karbantartónak (a projekt tulajdonosának) vagy a fő csapatnak el kell bírálnia a változtatásaidat, mielőtt azokat egyesítenék a projekt "main" ágával, így valójában egy döntést kérsz a karbantartótól a változtatásaidról.
A pull request egy hely, ahol összehasonlíthatod és megvitathatod az ágon végzett változtatásokat 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 a #
jelet követően beírod a probléma számát, például #97
.
🤞Reméljük, hogy minden ellenőrzés sikeresen lefut, és a projekt tulajdonosa(i) egyesítik a változtatásaidat a projekttel🤞
Frissítsd a helyi munkafiókodat az összes új commit-tal, amely a megfelelő távoli ágon található a GitHubon:
git pull
Hogyan járulj hozzá nyílt forráskódú projektekhez
Először is, keress egy olyan GitHub repót (repo), amely érdekel, és amelyhez szeretnél hozzájárulni. A tartalmát le kell másolnod a gépedre.
✅ Egy jó módszer kezdőbarát repók keresésére, 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 a repó tartalmának "klónozása" HTTPS, SSH vagy a GitHub CLI (Command Line Interface) használatával.
Nyisd meg a terminált, és klónozd a repót az alábbi módon:
git clone https://github.com/ProjectURL
A projekten való munkához válts a megfelelő mappára:
cd ProjectURL
A teljes projektet megnyithatod a Codespaces segítségével, amely a GitHub beépített kódszerkesztője / felhőalapú fejlesztési környezete, vagy a GitHub Desktop használatával.
Végül letöltheted a kódot egy tömörített mappában is.
Néhány további érdekesség a GitHubról
Bármely nyilvános repót a GitHubon "csillagozhatsz", "figyelhetsz" vagy "forkolhatsz". A csillagozott repóidat a jobb felső legördülő menüben találod meg. Ez olyan, mint a könyvjelzőzés, csak kódokhoz.
A projekteknek van egy issue trackere, amely többnyire a GitHubon az "Issues" fül alatt található, hacsak máshol nincs feltüntetve. Itt az emberek a projekttel kapcsolatos problémákat vitatják meg. A Pull Requests fülön pedig az éppen folyamatban lévő változtatásokat vitatják meg és vizsgálják felül.
A projekteknek lehetnek fórumai, levelezőlistái vagy csevegőcsatornái, 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, vagy egy projekt létrehozását (például egy Kanban táblát). Rengeteg mindent kipróbálhatsz!
🚀 Kihívás
Dolgozz együtt egy barátoddal egymás kódján. Hozzatok létre egy közös projektet, forkoljatok kódot, hozzatok létre ágakat, és egyesítsétek a változtatásokat.
Utólagos 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 haladóbb kurzusokat is találsz.
Feladat
Teljesítsd az Első hét a GitHubon kurzust.
Felelősség kizárása:
Ez a dokumentum az AI fordítási szolgáltatás Co-op Translator 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. Kritikus 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.