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:
- 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.
- 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:
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.
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!
(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
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:
- Dobozba rakjuk az új dolgokat:
- Lezárjuk a dobozt egy új üzenettel:
- Felküldjük a felhőbe (itt már elég csak ennyit írni): 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.
- Otthon nyisd meg a böngészőben a GitHub projektedet.
- Kattints a zöld Code gombra, és másold ki a megjelenő webcímet (pl.
https://github.com/...). - Nyisd meg az otthoni gépeden a VS Code-ot, nyiss egy üres mappát, és egy terminálba gépeld be ezt:
Ö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. |