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

2016.07.18.
July 18, 2016

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ábbi blogposztok

Tovább olvasnál?

Abból nem lesz jó fejlesztő, aki nem tud szépirodalmat olvasni

A programozó bootcampek 2015-ös indulásuk óta már közel 2000 juniort bocsátottak a magyar munkaerőpiacra. Hogyan tudnak beilleszkedni a képzésről kikerülő fejlesztők az IT cégeknél, mire van szüksége valójában a piacnak - ezeket a kérdéseket jártuk körbe decemberi meetupunkon.

“A feleségem megköszönte, hogy be mertem vállalni a váltást”

Ötödik évét tapossa a Green Fox, ez alkalomból az első és második évfolyamunk végzettjeivel, köztük Czinege Robival beszélgettünk programozásról, munkáról, na meg persze jó kis green foxos emlékekről.

5 jel, ami arra utal, hogy a low-code fejlesztés neked való

Az egyedi szoftverek iránti kereslet talán soha nem volt még ekkora, mint napjainkban. Lassan már szinte mindenre létezik egy alkalmazás, legyen szó akár a személyes, akár a szakmai életünk bármely aspektusáról, de a vállalatok és a felhasználók mindig többre és többre vágynak, újabb ötletek születnek és kerülnek megvalósításra.

Further blogposts

Would you like to read more?

Why join a bootcamp with a background in programming?

I expected to learn a lot, but I got more than that - says programmer Jesse Smith who arrived from Silicon Valley to Green Fox’s embedded systems course.

”It was like having a map in a complex labyrinth - suddenly, everything began to make more sense”

We believe that by providing up-to-date knowledge we can ensure our students' competitiveness in the labor market. That's why, during our courses, leading developers and recognized experts share their practical experiences with our students on several occasions. James Tang, the software developer at SEON is also one of these experts.

Long-term motivation: why corporate IT training is important

One of the biggest obstacles to business growth is the lack of suitable IT professionals. Specific courses that are tailored to the needs of companies do not only make the recruitment process more efficient but also reduce learning time significantly while also boosting employee motivation. The chief executive officer of Green Fox Academy, Kristóf Bárdos shares his experiences on the practical benefits of the courses.