Kihagyás

GitHub Alapok

Amikor elkezdesz komolyabban programozni, előbb-utóbb szembesülsz néhány kellemetlen problémával:

  • "Úristen, tegnap még működött a kód, de ma átírtam valamit és most az egész összeomlott! Hogy tudom visszacsinálni?"

  • "Hogyan küldjem át a C# projektemet a tanárnak vagy a padtársamnak? Csomagoljam be ZIP-be és küldjem el Messengeren?"

  • "Mi van, ha tönkremegy a gépem? Odavész az összes eddigi munkám?"

Ezekre a problémákra a verziókövetés a válasz. Az iparágban (és ebben az iskolában is) a Git és a GitHub párosát használjuk.


1. Alapfogalmak: Git vs. GitHub

Sokan keverik a kettőt, pedig nagyon fontos különbség van köztük! Képzeld el úgy, mint egy számítógépes játék mentési rendszerét:

  1. A Git (A motor): Ez egy program a saját számítógépeden. Ő figyeli a mappáidat. Ha megváltoztatsz egy fájlt, hozzáadsz egy képet, vagy törölsz egy sort a kódodban, a Git észreveszi, és képes "mentéspontokat" (úgynevezett commitokat) készíteni. Ha elrontasz valamit, a Git segítségével visszamehetsz egy korábbi mentéspontra.
  2. A GitHub (A felhő): Ez egy weboldal (egy szolgáltatás). Ide tudod feltölteni a Git által készített "mentéspontokat". Így ha felrobban a géped, a kódod akkor is biztonságban van a felhőben, ráadásul mások (például a tanárod) is láthatják és letölthetik azt.

2. Az első lépések (Egyszeri beállítás)

Ezt a folyamatot csak egyetlen egyszer kell megcsinálnod a gépeden.

1. Lépés: A Git telepítése

Ha még nincs a gépeden, töltsd le és telepítsd a Git-et a hivatalos oldalról: git-scm.com. Telepítés közben nyugodtan nyomkodj végig a "Next" gombokon, az alapbeállítások tökéletesek lesznek.

2. Lépés: GitHub fiók létrehozása

Nyisd meg a github.com oldalt, és regisztrálj egy fiókot (Sign up).

Fontos tanács a felhasználónévhez!

Olyan felhasználónevet és email címet válassz, amit később egy önéletrajzban is bátran bele merhetsz írni! A PistikeSniper2010 helyett érdemes a rendes nevedből generálni valamit (pl. kovacs-istvan-dev).

3. Lépés: Bemutatkozás a Git-nek

A Git nagyon precíz. Minden mentéspontra (commitra) rá akarja írni, hogy ki csinálta. Ezért meg kell mondanunk neki a nevünket és az email címünket. Nyisd meg a VS Code-ot, nyiss egy új Terminált (Terminal -> New Terminal), és gépeld be ezt a két sort (az idézőjelek közé a saját adataidat írd!):

git config --global user.name "Saját Neved"
git config --global user.email "[email protected]"

3. Egy projekt feltöltése (A napi rutin)

Tegyük fel, hogy megírtad életed első C# vagy Python programját egy mappában, és fel akarod tölteni GitHubra. Ezt a folyamatot fogjuk most lépésről lépésre végigvenni.

1. A mappa "felébresztése" (git init)

A Git alapból nem figyeli a géped összes mappáját (mert lelassítaná a gépet). Külön meg kell kérnünk rá, hogy figyeljen az adott projektre. Nyisd meg a projekted mappáját VS Code-ban, nyiss egy terminált, és add ki a varázsigét:

git init
Mit csinál ez? Létrehoz egy rejtett .git mappát. Ezzel a mappa hivatalosan is egy Lokális Raktárrá (Repository) változott. A Git elkezdi figyelni a változásokat.

2. A Szent Háromság (add, commit, push)

Ezt a három parancsot fogod a leggyakrabban használni életed során. Tanuld meg őket kívülről!

A) Becsomagolás: git add

Képzeld el, hogy van egy üres kartondobozod. Az add paranccsal pakolod bele azokat a fájlokat, amiket el akarsz menteni.

git add .

Ne felejtsd el a pontot!

A git add és a . között kötelező egy szóköz! A pont jelentése a programozásban: "minden". Tehát a parancs azt jelenti: "Tedd bele a dobozba az összes megváltozott fájlt, ami ebben a mappában van."

B) Címkézés és lezárás: git commit

A doboz tele van, most lezárjuk, és írunk rá egy alkoholos filccel egy rövid üzenetet, hogy tudjuk, mi van benne. Ez a mentéspont!

git commit -m "Elkészült az első C# programom"
(Az -m betű a message, azaz üzenet rövidítése. Az üzenetet mindig idézőjelek közé kell tenni, és érdemes értelmes dolgot írni, mert hónapok múlva ebből fogod tudni, mit csináltál ott).

C) A felhő előkészítése (GitHub)

A doboz kész, de hova küldjük? Nyisd meg a böngészőben a GitHubot, és a jobb felső sarokban lévő + ikonnal hozz létre egy New repository-t (Új raktár). Adj neki egy nevet (pl. elso-programom), ne állíts át semmit, és nyomj a zöld Create repository gombra.

A GitHub ekkor ad neked egy linket és néhány parancsot. Valami ilyesmit fogsz látni (de a te saját neveddel):

git remote add origin https://github.com/sajatneved/elso-programom.git
git branch -M main
git push -u origin main
Másold ki ezt a 3 sort a GitHubról, illeszd be a VS Code termináljába, és nyomj Entert! (Lehet, hogy ekkor felugrik egy ablak, ami kéri, hogy jelentkezz be a GitHub fiókodba. Tedd meg!)

Mit csinált ez a 3 sor? 1. Megmondta a gépednek, hogy hol van a felhőbeli raktár címe (remote add origin). 2. Átnevezte a fő ágat main-re (ez a modern iparági szabvány). 3. Feltöltötte (push) a kódodat a GitHubra!

Frissítsd a GitHub oldalt a böngésződben, és csodáld meg a műved: a kódod kint van a felhőben!


4. Kód módosítása (A munka folytatódik)

Másnap leülsz a gép elé, módosítod a kódot, és hozzáadsz egy új funkciót. Hogyan frissíted a GitHubot? Sokkal egyszerűbb lesz, mint az első alkalommal! Már nem kell semmit létrehoznod a weblapon, csak a jól ismert Szent Háromságot kell használnod a Terminálban:

  1. Dobozba rakjuk az új dolgokat:
    git add .
    
  2. Lezárjuk a dobozt egy új üzenettel:
    git commit -m "Új funkció hozzáadva: összeadás"
    
  3. Felküldjük a felhőbe (itt már elég csak ennyit írni):
    git push
    
    Kész! A GitHubon már a legújabb verzió szerepel. Ezt a három parancsot minden jelentősebb munkafolyamat végén (vagy óra végén) érdemes kiadni.

5. Kód letöltése másik gépre (git clone)

Mi van akkor, ha a sulis gépen dolgoztál, feltöltötted GitHubra, és otthon folytatnád a munkát az otthoni gépeden? Ehhez "le kell klónoznod" (le kell másolnod) a raktárat.

  1. Otthon nyisd meg a böngészőben a GitHub projektedet.
  2. Kattints a zöld Code gombra, és másold ki a megjelenő webcímet (pl. https://github.com/...).
  3. Nyisd meg az otthoni gépeden a VS Code-ot, nyiss egy üres mappát, és egy terminálba gépeld be ezt:

git clone https://github.com/sajatneved/elso-programom.git
A Git letölti a mappát a felhőből az összes fájllal és az összes eddigi mentéspontoddal együtt. Pontosan onnan folytathatod a munkát, ahol abbahagytad!


Összefoglaló Puskalevél (Cheat Sheet)

Ha elfelejtenéd a parancsokat, csak pillants ide:

Parancs Mire jó? Mikor használd?
git init Létrehozza a raktárat Csak egyszer, egy teljesen új projekt kezdetekor.
git clone <link> Letölti a raktárat a felhőből Amikor egy másik gépen (pl. otthon) akarod folytatni a munkát.
git add . Változások kiválasztása Minden módosítás után, mielőtt elmented.
git commit -m "..." Mentéspont létrehozása Az add . után közvetlenül.
git push Feltöltés GitHubra A commit után, hogy a kódod szinkronizálódjon a felhővel.