Git és GitHub – A projekted feltöltése a világhálóra
Ez a lecke arról szól, hogyan juttathatod el a saját gépeden működő programodat az internetre. Megismered a Git és a GitHub közötti különbséget, a legfontosabb fogalmakat (repository, commit, push), és lépésről lépésre végigmegyünk azon, hogyan kell GitHub-fiókot létrehozni, összekötni a Cloud fejlesztői környezettel, majd feltölteni a projektet – és hogyan kezeld a jövőbeli frissítéseket.
Miért kell az internetre feltenni a projektedet?
A legtöbb program, amit készítesz, valamilyen formában az internetre kerül. Ennek két fő oka van:
-
Saját használatra is érdemes: Ha a laptopodon dolgozol, és az összetörik, az adataid elveszhetnek. Ha a projekt fent van az interneten, ez nem fordulhat elő.
-
Mások számára is elérhetővé teheted: Ha azt szeretnéd, hogy mások is használják a programodat, elengedhetetlen, hogy valahol a világhálón is elérhető legyen.
Ahhoz, hogy a projekted online kerüljön, először egy online tárhelyre kell feltölteni. Ez a tárhely a mi esetünkben a GitHub lesz.
Mi az a Git?
A Git egy olyan rendszer, amely nyilván tartja, hogy mit változtattál a projekteden. Minden egyes alkalommal, amikor valami fontosabb lépést befejezesz, a Git elment egy pillanatfelvételt arról, hogy az adott pillanatban hogyan néz ki minden fájlod.
Ez a biztonsági háló. Nem kell félned, hogy tönkreteszel valamit, mert mindig van hova visszatérni.
Hasonló funkció egyébként sok online eszközbe be van építve – a Google Drive-ban, a WordPress-ben, a Figmában és a Notionban is vissza lehet térni egy korábbi állapotra. A Git ugyanezt a logikát valósítja meg a saját projektjeidnél.
Fontos tudni, hogy a Git egy program a saját gépeden – korábban már fel kellett telepíteni, mert helyben kell futnia.
Mi az a GitHub, és miben különbözik a Gittől?
A GitHub ezzel szemben egy weboldal – egy olyan platform, amely a Git-projekteknek ad otthont az interneten.
-
A Git az, ami nyilván tartja a változásokat a gépeden.
-
A GitHub az a hely, ahova fel tudod tölteni ezeket a változásokat.
A Git és a GitHub két teljesen különböző dolog – az egyik egy helyi rendszer, a másik egy weboldal.
A Git akkor is működik, ha soha nem lenne GitHub-fiókod – csak akkor minden a saját gépeden maradna, de lenne verziókövetés.
Mire használják a GitHubot a profi csapatok?
A GitHubot alapvetően profi programozócsapatok használják az együttműködésre. Egy nagyobb szoftvert úgy lehet építeni, hogy mindenki a saját gépén dolgozik a saját másolatán, majd ezeket a GitHub segítségével összeolvasztják egy fő verzióvá. Tehát valaki az egyik funkción dolgozik, valaki más egy másikon, és a végén visszatöltik az egészet egy közös főverziójába.
Nyilvános kódbázisok
A GitHub egy másik fontos felhasználása, hogy fejlesztők nyilvános kódbázisokat tesznek közzé, amelyek segíthetnek másoknak is. Például a Claude (Cloud) kódhoz is léteznek különböző skill-ek, plug-inek és egyéb megoldások, amelyek a GitHub-on érhetők el.
Miért éppen a GitHub?
-
Ez a legszélesebb körben használt platform – minden programozócsapat ezt használja.
-
Rengeteg más szoftver épít rá – a legtöbb tárhelyi szolgáltató képes közvetlenül a GitHub-ról olvasni a projektedet.
-
Ez egy ipari standard: ha összekötöd a GitHub-bal a projektedet, könnyen tudják más rendszerek is olvasni.
GitHub-fiók létrehozása
A regisztráció egyszerű. A bemutatóban a következő adatokkal jött létre egy tesztfiók:
-
E-mail cím: vibecoder237@gmail.com
-
Felhasználónév: vibecoder237
-
Ország: Hungary
A felhasználónévre figyelj, mert az nyilvánosan is látható lehet. Ne legyen valami vicces vagy értelmetlen – használd azt, amit egyébként is szoktál, és amit meg tudsz jegyezni.
A regisztrációhoz Google-fiókkal is be lehet jelentkezni, ami megkönnyíti a folyamatot.
Alapfogalmak: repository, commit, push
Repository (repo)
A repository – röviden repo – a projektednek az online tárolója a GitHub-on. Úgy képzeld el, mint egy mappát: a saját gépeden is van egy projektmappa fájlokkal, és a GitHub-on is lesz egy repo, ami pontosan ezt a mappát tükrözi vissza online.
-
Nem kell, hogy a gépeden lévő mappa neve megegyezzen a repo nevével, de a tartalmuk ugyanaz lesz.
-
A repo lehet publikus (bárki a világon elérheti) vagy privát (csak te látod).
Commit
A commit jelentése: elköteleződés – egy mentési pillanat, amelyhez egy rövid leírást is adunk arról, hogy mi változott. Ha javítást végeztél a fájlokon, a commit elmenti ezt az állapotot a rendszerben. A leírást egyébként a Cloud automatikusan kitölti helyetted, így ezt nem kell kézzel megírnod.
Push
A push jelentése: feltolni – azaz feltolod a GitHub-ra azt, amit lokálisan a számítógépeden csináltál.
-
A commit a saját gépeden ment el egy állapotot.
-
A push ezt az állapotot viszi fel a GitHub-ra.
-
Push előtt a változások csak nálad lesznek meg; push után változik meg ténylegesen a GitHub-on a kódbázis – és első körben ekkor kerül fel egyáltalán a projekt.
A Cloud és a GitHub összekötése
Ahhoz, hogy a repót fel tudd tölteni a GitHub-ra, kapcsolatot kell létesíteni a Cloud és a GitHub között.
Connector hozzáadása a Cloud-ban
-
Menj be a Cloud beállításaiba (Settings / Customize).
-
Keresd meg a Connectors részt.
-
Ha nem látod alapból a GitHub Integration opciót, a plusz gombbal add hozzá a keresésből.
-
Kattints a Connect gombra – ez egy autentikációs folyamatot indít el, amellyel engedélyezed a Cloud számára a GitHub-hozzáférést.
Bejelentkezés a terminálból (ajánlott módszer)
A Connector önmagában nem mindig elegendő – szükség lehet egy személyes hozzáférési token (personal access token) megadására is, vagy a terminálból való bejelentkezésre. A legegyszerűbb módszer a terminálból való hitelesítés:
-
Nyisd meg a terminált a Cloud-on belül.
-
Írd be a GitHub bejelentkezési parancsot.
-
A rendszer megkérdezi, hol szeretnél bejelentkezni – válaszd a GitHub opciót.
-
A Preferred Protocol legyen HTTPS.
-
Az „Authenticate Git with GitHub Credentials?” kérdésre válaszolj Y (Yes).
-
Válaszd a webbrowser alapú hitelesítést.
-
A rendszer megad egy egyszer használatos kódot.
-
Másold be ezt a kódot a megnyíló GitHub-oldalon, majd kattints a Continue gombra.
-
Erősítsd meg a hozzáférést.
Több módszer is létezik az összekötésre: letöltheted a GitHub alkalmazását, használhatsz API-összekötést, vagy elvégezheted terminálon keresztül. A terminálból való bejelentkezés a legegyszerűbb, ha már van terminál-hozzáférésed a Cloud-ban.
Ha az összekötés után a Cloud nem látja azonnal a kapcsolatot, indíts új session-t – előfordulhat, hogy a Connector csak egy friss munkamenetben aktiválódik.
A projekt feltöltése GitHub-ra
Az első feltöltés
Miután a kapcsolat megvan, megkérheted a Cloud-ot, hogy töltse fel a projektet. A bemutatóban a következő utasítást adták:
„Nézd át a mappát, amiben dolgoztunk. GitHub-ra fel szeretném tenni. Készítsd el azokat a fájlokat, amire szükség van még esetleg pluszban – egy README fájlt is. Utána pedig tedd fel a GitHub-ra ugyanezen a néven: sorsoló.”
A Cloud ekkor:
-
Átnézi a projektmappát és annak tartalmát.
-
Létrehozza a README fájlt – ez egy „olvasd el” fájl, amely leírja, miről szól a projekt. Hasznos, mert ha a GitHub-on sok fájlod lesz, a rendszer (és más fejlesztők) ezt olvassák el először.
-
Létrehozza a fájlt – ez meghatározza, hogy mi az, ami csak lokálisan szükséges, és nem kell feltölteni.
-
Létrehozza a repót és felpusholja a fájlokat.
A repo láthatóságának beállítása
A feltöltés után beállíthatod, hogy a repo publikus vagy privát legyen:
-
Publikus: bárki a világon láthatja a fájlokat.
-
Privát: csak te férsz hozzá.
A beállítást a GitHub-on a repo Settings menüjében, a Danger zone résznél találod, ahol a visibility átállítható. A bemutatóban a Cloud-ot is meg lehetett kérni erre: „Tedd priváttá” – és ha megvan a megfelelő jogosultsága, elvégzi a műveletet.
Fontos: a GitHub-on lévő projekt még nem egy futó weboldal – ez csak a fájlok tárhelye. Ha valaki rákattint a repo linkjére, nem a programot látja, hanem a fájlrendszert (vagy privát repo esetén semmit). Ahhoz, hogy a program ténylegesen fusson a weben, még egy további lépés szükséges – ezt egy következő leckében nézzük meg.
Fájlok törlése és a változások kezelése
Felesleges fájlok eltávolítása
Ha a projektből kiveszel fájlokat (például a külön CSS és JS fájlok feleslegessé váltak, mert minden bekerült az -be), megkérheted a Cloud-ot, hogy:
-
Törölje a felesleges fájlokat a mappából.
-
Ellenőrizze, hogy az nem hivatkozik-e rájuk (a Cloud ezt automatikusan megnézi, mielőtt törölne).
-
Commitolja és pusholja a változásokat GitHub-ra.
Branch-ek (ágak)
A Cloud néha egy külön ágon (branch-en) dolgozik, majd visszaviszi a változásokat a fő ágra (main). Ezt úgy képzeld el, mint egy fa:
-
A törzs a fő vonal (main branch).
-
Az ágak olyan párhuzamos munkaterületek, ahol valaki egy adott funkción dolgozik.
-
A végén az ágon lévő változásokat visszaolvasztják a törzsbe.
Commit-előzmények megtekintése
A GitHub-on a repo commit-előzményeiben visszanézheted, hogy mikor mi változott. Minden commit tartalmaz:
-
Egy leírást arról, mi történt (pl. „Az index.html önállóan tartalmazza a stílusokat és a logikát, így a külön CSS fájlokra nincs szükség. README is frissítve.”)
-
A változtatások részleteit (mely fájlok módosultak).
Régebben a fejlesztőknek ezeket a leírásokat kézzel kellett megírniuk – most a Cloud ezt automatikusan elvégzi, ami jelentősen hatékonyabbá teszi a munkát.
Hogyan dolgozz a jövőben – a commit és push rutinja
Az alapműködés a következő lesz: amikor egy verziót elkészítesz – hozzáadtál egy új funkciót, átírtál valamit, és úgy érzed, hogy ez most jó állapotban van –, megmondod a Cloud-nak, hogy töltse fel az új verziót GitHub-ra.
Ne felejtj el néha commitolni és pusholni! Ha egy szakaszon átmentél, beépítettél egy új funkciót, és úgy érzed, hogy ezt jó lenne elmenteni, tedd fel GitHub-ra.
Miért fontos ez?
-
Ha nem mentesz el verziókat, elveszíthetsz olyan munkát, amit korábban készítettél.
-
Ha nincs meg egy korábbi verzió, nincs hova visszamenni, ha valami elromlik.
-
A session-ben esetleg megmarad a korábbi állapot, de a GitHub-ra való feltöltés a legbiztosabb megoldás.
Miért lesz ez az élesítés alapja?
A GitHub-ra feltöltött projekt azért is kulcsfontosságú, mert a tárhelyi szolgáltatók közvetlenül a GitHub-ról dolgoznak. Amikor majd élesíteni szeretnéd a programodat (azaz ténylegesen futtatni a weben, hogy bárki elérhesse), a szolgáltató a GitHub-on lévő fájlokat fogja feltölteni egy tárhelyre. Ha a kód nem lenne a GitHub-on, ezt az utat nem tudnád ilyen egyszerűen megtenni.
A lecke legfontosabb tanulságait összefoglalva: a Git egy helyi rendszer a gépeden, amely nyilván tartja a projekteden végzett változtatásokat. A GitHub az a weboldal, ahol ezek a projektek online élhetnek – ez a kettő két teljesen különböző dolog. A repository (repo) a projektednek az online tárolója, amely lehet publikus vagy privát. A commit egy mentési pillanat leírással, a push pedig az, amivel feltolod a lokális változásokat a GitHub-ra. A GitHub-fiók és a Cloud összekötése után a projekt feltöltése, frissítése és kezelése egyszerűen elvégezhető – és ez lesz az alapja annak, hogy a programodat később ténylegesen élesítsd a világhálón.