Publikálva:
2016.07.18.

Git ≠ gittegylet, avagy közösségi kódolás mindenkinek

Ma már megkerülhetetlen programozói platform a GitHub, de nemcsak tökéletes projekt hosting rendszer, hanem remek közösségi tér akár kezdő programozóknak is.

Nem csak a programozók, de a nemprogramozók sem kerülhetik ki többé a GitHubot. Hogy miért más, mint a többi project hosting rendszer? Mert mindent tud, amit a többi, ugyanakkor tökéletes közösségi teret is biztosít az IT világában dolgozóknak.

Van, aki azt mondja, hogy a GitHub az új LinkedIn, mások meg azt, hogy a kóderek Facebookja. Annyi biztos, hogy egy IT állás betöltésénél ma már nem csak az a fontos, hogy mit tartalmaz az önéletrajzod, de az is, mennyire vagy aktív az open source projektekben. Ezt pedig legjobban a GitHub jelenléteddel tudod kidomborítani.

Ilyen egy szép, üres profil a GitHubon:), ahova aztán bármit feltölthet az ember a nagyvilág örömére

Hogyan működik?

Első ránézésre valóban hasonlít bármely közösségi oldal felületére, ugyanúgy létrehozhatsz egy profilt az adataiddal, követhetsz másokat, egy repository-ban tárolhatod a saját file-jaidat. Az igazán nagy dobás az, ahogy a GitHub a Linus Torvalds nevéhez köthető, Git nevű verziókezelő rendszert használja.

Ha szeretnénk hozzáadni egy új fejlesztést egy open source projekthez, a hagyományos rendszerekben ezt úgy tudjuk megtenni, hogy letöltjük az adott repository tartalmát, elvégezzük a módosításokat, majd generálunk egy patch-et. Amit aztán valamilyen módon eljuttatunk a fejlesztőkhöz, ők pedig, ha megfelelőnek találják, belemerge-ölik a projektbe.  Az egész folyamat, valljuk be, elég hosszadalmas, és kedvet szegő tud lenni. A GitHub ebben hoz újítást. A Git ugyanis lehetővé teszi, hogy ha a GitHubon valaki hozzá akar járulni egy projekthez, azt egyszerűen forkolja, azaz leklónozza, és azonnal lesz is egy saját példánya a repository-ból. Ebben pedig már szabadon dolgozhat. Ha kész a fejlesztés, csak küld egy rendszeren belüli üzenetet a projekt gazdájának a változtatásokról. Ez a pull request. Ha a projekt gazda egyet ért a fejlesztésekkel, akkor áthúzza azt a saját repository-jába. A lényeg tehát, hogy itt minden elintézhető néhány kattintással a rendszeren belül.

“Egy programozónak azért jó a GitHub, mert szinte minden nyílt forráskódú projekt megtalálható rajta, ami a világban képződött. Olyan nagy projektekbe is bele lehet kukkantani, mint az Android kódja. Nagyon sokat lehet mások munkájából tanulni” - mesélte nekem Kökény Tamás, azaz Tojás, a Green Fox Academy mentora. De nem csak a tanuláshoz, a munkakereséshez is elengedhetetlen, hogy használja egy fejlesztő a GitHubot. “Ha hozzánk jelentkezik egy senior programozó, és kiderül, hogy nincs vagy üres a profilja, akkor rögtön előítéletes leszek. De ez fordítva is igaz: ha egy juniornál azt látom, hogy sok dolog sorakozik a GitHubján, az azt bizonyítja, hogy lelkes és fejlődni akar, ami számomra a legfontosabb. A Lab.Coop-ban sok szempont szerint értékeljük azokat, akik munkát szeretnének találni nálunk. Döntő fontosságú lehet, hogy valaki hogy teljesít az úgynevezett epic github kategóriában. Itt az tarol, aki számos nagy és híres projektben vett részt és olyan kódot írt, amit mások is használnak.”

Közös munkahely knowledge worköröknek

“Bárkinek ajánlom, akinek nagy mennyiségű szöveges dokumentumot kell megírnia, és ahol az is fontos, hogy ki, mikor, mit változtatott rajtuk. Van, aki a könvyét is a GitHubon írja.  Az biztos, hogy ha együtt kell dolgozni valakivel, akkor a GitHub tényleg jó felületet ad a közös munkához. Bonyolultabb ugyan, mint mondjuk egy Google doksi, de sokkal jobban szabályozható a kollaboráció.” Ezt is Tojástól tudom, aki nem árult el titkot azzal, hogy a saját cége és a Green Fox is a GitHubon tárolja a szervezet működési leírását. Ezeken a dokumentumokon a munkatársak együtt dolgoznak, és a munkájuk gyümölcse mindenki által elérhető a világon. Ugyanez a helyzet a Green Fox komplett tananyagával is. A diákok szintén a GitHubra fejlesztenek, minden munkájukat itt lehet megnézni, és a mentorok nap mint nap itt ellenőrzik az egyes projekteket. Persze sokan akadtak az új hallgatók közül, akik még sosem használták, de a GitHubbal való megismerkedés Tojás elmondása szerint az első lecke első fejezetét jelenti a képzésen.

Varázsszavak, amit a GitHubozók használnak

Őszintén szólva nem csak a GitHub használata közben, de a mindennapokban is jól jön, hogyha ismered ezeket a kifejezéseket. Saját tapasztalat, hogy a kóderek és a vonzáskörzetükben dolgozók a kocsmában is ezen a nyelven kérik ki a sört.

Command Line: ez az a számítógépes program, amit használunk, amikor a Git parancsokat leírjuk. Mac-en Terminal-nak hívják. A Windows esetében ez egy nem natív program, amit a Git letöltésekor tölthetsz a gépedre. Persze itt is van egy natív program, amit Command Promptnak hívnak. Bármelyiket is használod, text alapú parancsokat kell beleírnod, amiket promptoknak neveznek. Egér nem használandó.

Repository: Az a tárhely, vagy könyvtár, amiben a projektjeid élnek. Gyakran csak repo-ként emlegetik. Lokális folder is lehet a számítógépeden, vagy egy a GitHubos tárhelyeden elérhető könyvtár. Itt tarthatod a kód, text és image file-okat.

Version Control: Gyakorlatilag ez az, amiért a Git megszületett. Ha van egy word doksid, akkor vagy felülírod, vagy új mentéssel létrehozol egy újabb doksit a változtatásaiddal. A Gittel nincs szükség arra, hogy a projekt folyamatának minden pillanatképét ilyen módon fotózd le magadnak. A Git ugyanis elvégzi helyetted ezt a munkát.

Commit: Ez az a parancs, ami a Gitet igazán erőssé teszi. Amikor committolsz, akkor készíted el azt a “pillanatfotót” a repository-dról, amit a későbbiekben újragondolhatsz, vagy amihez hozzátehetsz.

Branch: Hogyan dolgozik több ember ugyanazon a projekten, anélkül, hogy belegabalyodna? Általában az önálló munka idejére a felhasználó branch offol a projekt fő száláról. A saját verzióit a saját repository-jában fejleszti. Majd amikor készen van, merge-öli a saját branch-ét az úgynevezett masterbe, azaz a projekt fő könyvtárába.

Hasznos olvasnivalók kezdő GitHub felhasználóknak

 

  • Pro Git. Egy teljes nyílt forráskódú könyv mindazoknak, akik szeretnék megtanulni és használni a GitHubot. Hosszúnak tűnik, de ha eljutsz a harmadik fejezetig, már nyert ügyed van.
  • Try Git. A CodeSchool és a GitHub összefogásából született gyorstalpaló, ami abban segít, hogy az alapokat a leghatékonyabban tudd gyakorolni. Ha pénzt is fordítanál a tanulmányaidra, a CodeSchool Git Real nevű szolgáltatását ajánljuk.
  • GitHub Guides. Ha vizuális típus vagy, nézz bele a GitHub hivatalos YouTube csatornáján található tartalmakba. A  Git Basics nevű négyrészes sorozat különösen sokat segíthet.
  • Git Reference. Ha az alapokat már nagyjából érted, de állandóan elfelejted a parancsszavakat, itt könnyen megtalálod a válaszokat.
  • Git – the simple guide. Ez a guide valóban nagyon rövid és velős - talán egy kicsit túl gyors és szűkszavú is egy kezdő számára. Ám ha csak felfrissítenéd a tudásod, nincs másra szükséged.
  • Hogyan használd csapatban a GitHub-ot? Magyar nyelvű, 3 kötetes regény hosszúságú leírás azoknak, akik a GitHub működésével már tisztában vannak.

Tovább olvasnál?