09 Git, GitHub alapok (20:38)

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:

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.