Az első közreműködésem

2019. október 2.

Nagyon örülök, hogy idetaláltál! 🙂 Ez nagy valószínűséggel azt jelenti, hogy szeretnél szorgoskodni az open source világban, és ez már magában is becsülendő! :))

Ezután biztos feltetted azt a kérdést, hogy oké, de hogyan is kell ezt elkezdeni? No, ezt a cikk reményeim szerint ebben szeretne neked segítségedre lenni, szóval vágjunk is bele! 🙂

Előkészületek

  1. Ahhoz, hogy open source projekteken részt vehess, általában a legjobb platform a GitHub, hiszen a legnagyobb élet ott zajlik, így javaslom, hogy menj és hozz létre egy fiókot, ha még nincs! 🙂
  2. Legyen Git telepítve a gépedre. Ha még nincs, akkor a hivatalos honlapról le tudod tölteni, és feltelepíteni. Itt amúgy nagyon jó dokumentációt is olvashatsz a gitről, ha még jobban a részleteibe akarsz belemerülni 🙂
  3. Ki kell szemezned egy repository-t, és még inkább egy issue-t, amin dolgozni fogsz. Van egy speciális címke, amit kifejezetten azért hoztak létre, hogy az első pull request-es emberkék rátaláljanak, ez a first-timers-only, de van hozzá egy honlap is még további infókkal, nézd meg!

Másolás

Miután megvan a kiszemelt áldozati repository, a következő lépés az, hogy csinálnod kell egy saját példányt belőle, mert ezen fogod majd a saját változásaidat eszközölni. Gites világban ezt egyébként forkolásnak hívják, ami azért fontos, mert ha a GitHubos felületről végzed el, akkor a repository áttekintő nézetének jobb felső részén kell keresni egy ‘Fork’ nevű gombot 🙂 Nyomd meg! 🙂

Ha ezt jól megnyomtad, akkor jön a fénymásológép a villával, majd a folyamat eredményeképpen létrejön a saját fiókodban egy repository, ugyanazon a néven, amiről másoltad, ugyanazzal a tartalommal. Első lépés kipipálva! 😉

Újabb másolás, inkább klónozás

A következő lépés az az, hogy a saját gépedre is le kell szedni a repository tartalmát, hiszen a fork eredménye egy távoli szerveren van, de te a saját gépeden szeretnél a fájlokon dolgozni.

Ehhez szintén a repository áttekintő nézetén lévő nagy zöld gombot kell megkeresni, majd rákattintani, és a megjelenő címet kimásolni.

Most pedig szedd elő a terminált/command line-t (kinek épp mi van), majd a megfelelő mappába elnavigálva, ahol dolgozni szeretnél, add ki a következő parancsot, természetesen a kimásolt linkre cserélve a kicserélnivalót 🙂

git clone kimasolt-cim-helye

Ennek hatására, sok-sok szöveg jelenik meg a kijelzőn, de a végére az összes repository-ban található fájlból lesz egy példány a saját gépeden is. Második lépés pipa! 🙂

Új ág kialakítása

Mivel általában egy projekten egyszerre több ember is dolgozik, a legegyszerűbb módja a konfliktusok elkerülésének az az, hogy mindenki minden nagyobb fejlesztésen egy saját branchen dolgozik, egy teljesen izolált kódbázison.

Alapértelmezésben fő ág master néven fut, a különböző bracheket pedig érdemes úgy elnevezni, hogy jól leírja azokat a fejlesztéseket, funkciókat, hibajavításokat, stb amiket tartalmazni fog. Ahogy a változóid nevét is szépen elnevezed, úgy járj el a branchek nevével is 🙂

No de, hogyan is kell ez csinálni? Ezt is egyszerűen lehet konzolból, ha a könyvtár gyökerében vagy, akkor van a következő parancsot add ki először:

git branch meno-funkcio-neve-amit-belefejlesztek

Aztán pedig át kell állni erre a brachre:

git checkout meno-funkcio-neve-amit-belefejlesztek

Az előző két parancsot egyébként egy sorral is el lehet intézni:

git checkout -b meno-funkcio-neve-amit-belefejlesztek

A checkout parancs ugye arra szolgál, hogy a különböző ágak között váltani tudj, ha mondjuk több issue-n is dolgozol egyszerre, stb.

Fejlesztés ezerrel

Most jön az a lépés, hogy megvan a körítés, most kell elvégezni a módosításokat, az új fejlesztéseket, hibajavításokat… Hajrá!

Ha valamit nem értesz esetleg a feladat leírásában, elakadtál, vagy bármi probléma merült fel, akkor bártan kérdezz a feladat kiírójától vagy a repository tulajdonosától! Csak bátran! Nem fogják leszedni a fejed, sőt! 🙂

Ha úgy gondolod, hogy készen vagy mindennel, akkor először adjunk hozzá minden változtatást az indexhez:

git add -A

Majd jöhet a commitolás, egy, a módosításokat jól leíró üzenettel macskakörmökön belül, de ne legyen túl hosszú, se túl rövid:

git commit -m "I changed stuff, the world is a better place now."

Persze többször is commitolhasz, ne az legyen, hogy egy óriási módosításod legyen, hanem inkább több apró, könnyebben érthető, átvezethető módosítás. Szóval az előző kettőt ismételgetheted akár többször is 🙂

Ha megvagy mindennel, akkor felküldjük a lokális commitokat a távoli repositoryba, pusholunk. Itt is fontos, hogy az új brach nevét használd:

git push --set-upstream origin meno-funkcio-neve-amit-belefejlesztek 

Pull request beküldése

A sor utolsó lépéseként a saját (lemásolt) repository-nkban tárolt változtatásokat el akarjuk küldeni az eredeti repository-ba is, hiszen az a fontos, hogy ott meglegyen! 🙂

Ehhez el kell navigálni böngészőben a saját repository oldalára, és ott jobb esetben már virít is egy figyelmeztetés az oldal tetején jobb oldalon ‘Compare & pull request’ néven:

A gomb után még ki kell tölteni egy-két mezőt (név, leírás), majd a beküldés után pedig már csak várni kell arra, hogy a módosításaidat valaki megnézze, visszajelezzen vagy simán csak elfogadja. 😉

Elég valószínű, hogy valamilyen issue-n keresztül találtad meg a feladatot, és azon keresztül kommunikáltok, így ne felejtsd el esetleg azt is behivatkozni a leírásokban, commit message-ben, illetve magát az issue-t is frissíteni, ha beküldtél egy PR-t, hisz ez fontos része a hatékony kommunikációnak!

Nos és itt már elmondhatod magadról, hogy sikeresen beküldtél egy pull requestet 🙂 Ügyi vagy! 🙂

+1 Hacktoberfest

Remélem, hogy már hallottál az eseményről, így nem kell túlmagyaráznom, de a lényeg, hogy most már sokadik éve az október az open source projektekben való részvétel népszerűsítéséről (is) szól.

Több nagy, menő cég állt össze, és egy kis motivációt adva a világ fejlesztőinek, ha regisztrálsz és október hónapban beküldesz 4 értékelhető pull requestet, akkor kapni fogsz egy menő pólót és menő matricákat 🙂

A DigitalOcean oldalán tudsz regisztrálni és még további hasznos információkat olvasni. 🙂

Ha bármi további kérdésed lenne, akkor keress engem is bátran! 🙂

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük