Hirdetés

verzióvezérlő szoftverMint webfejlesztők, sok időnkben hajlandók vagyunk helyi fejlesztési webhelyeken dolgozni, akkor csak feltölteni mindent, amikor kész. Ez rendben van, ha csak te vagy, és a változások kicsik, de ha egynél többel is foglalkozol valaki dolgozik, vagy egy nagy projekten dolgozik, ahol sok bonyolult elem van, egyszerűen nem így van megvalósítható. Ekkor fordulunk el valami, az úgynevezett verziókontroll felé.

Ma a nyílt forráskódú verziókezelő szoftverről beszélek, melynek neve Git. Ez lehetővé teszi, hogy egynél több ember biztonságosan dolgozzon egyazon projekten anélkül, hogy egymásba zavarna, de ennél is sokkal több.

Miért érdemes használni a Verziókezelő szoftvert?

Mindenekelőtt a névnek el kell adnia. A verziószabályozó szoftver lehetővé teszi egy projekt „verzióját”, amely bemutatja a kódban az idő múlásával végrehajtott változtatásokat, és lehetővé teszi, hogy szükség esetén visszavonulhasson, és visszavonja ezeket a változásokat. Ez a képesség önmagában - az, hogy képes összehasonlítani a két verziót vagy megfordítani a változtatásokat - meglehetősen felbecsülhetetlen értékűvé teszi nagyobb projekteknél.

instagram viewer

Valószínűleg egy bizonyos ponton már meg is csinálta ezt, mentve egy projekt másolatát különböző pontokban, hogy biztonsági másolatot kapjon. A verziókezelő rendszerben csak a módosítások kerülnek mentésre - egy javítófájl, amelyet egy verzióra alkalmazni lehet annak érdekében, hogy megegyezzen a következő verzióval. Egy fejlesztőnél ez elegendő.

De mi van, ha egynél több fejlesztő dolgozik egy projekten? Ekkor jön be a központi verziókezelő szerver gondolata. Ezek hosszú ideje a szabványok, amelyek szerint az összes verziót egy központi kiszolgálón tárolják, és az egyes fejlesztők kijelentik és feltöltik a változtatásokat erre a szerverre. Ha valaha megnézték egy Wikipedia oldal szerkesztési előzményeit, akkor jó ötleted lesz arra, hogy ez hogyan működik egy való világban:

verzióvezérlő szoftver

Egy ilyen rendszer előnye, hogy több fejlesztő módosíthat, és minden egyes változtatást egy adott fejlesztőhöz lehet hozzárendelni. A hátránya, hogy az a tény, hogy mindent egy távoli adatbázisban tárolnak, azt jelenti, hogy nem lehet változtatni, amikor a szerver leáll; és ha elveszik a központi adatbázis, minden ügyfélnek csak az aktuális verziója van, bármi is dolgozott.

Ez visz minket Githez és más úgynevezetthez elosztott verziószabályozó rendszerek. Ezekben a rendszerekben az ügyfelek nem csak ellenőrzik a fájlok aktuális verzióját, és azokból dolgoznak - tükrözik a teljes verziótörténetet. Minden fejlesztőnek mindig van teljes példánya mindent. A központi szervert továbbra is használják, de ha a legrosszabb történik, akkor a legfrissebb verziókkal rendelkező ügyfelek mindent visszaállíthatnak.

A Git kifejezetten úgy működik, hogy „pillanatfelvételeket” készít fájlokról; ha a fájlok változatlanok maradnak egy adott verzióban, akkor egyszerűen csak az előző fájlokhoz mutat hivatkozás - ez mindent gyors és karcsú marad.

Az is érdekelhet, hogy megtanulja, hogy a Git-et használják a alapvető Linux kernel - az az alap építőelem, amelyre az összes linux disztró épül.

verzióvezérlés

Mi a Github?

Bár a saját Git-kiszolgálóját helyben is futtathatja, Github egyszerre egy távoli szerver, a fejlesztők közössége és egy grafikus webes felület a Git-projekt irányításához. Legfeljebb 5 nyilvános adattár számára - azaz amikor bárki megnézheti vagy elkódolhatja az Ön kódját - ingyenes felhasználással, magánprojektek alacsony költségű terveivel. Erősen javaslom, hogy regisztráljon egy ingyenes fiókot, így elkezdheti játszani a saját projektjeivel, vagy elkényszeríteni valakit.

verzióvezérlés

Villás és elágazás

Ezek a Git tapasztalatának alapvető fogalmai, ezért vessünk egy pillanatra magyarázatot a különbségre.

Valószínűleg hallotta a „villa” művet, amikor a linuxos disztrókkal foglalkozik. Ha ismeri a Plex médiaközpont alkalmazást, akkor tudja, hogy eredetileg a hasonló nyílt forráskód villája volt Xbox Media Center Aeon Nox 3.5: Szép és testreszabható téma az XBMC számáraÁllítsa be a médiaközpontot pontosan úgy, ahogy szeretné. Az Aeon Nox 3.5 a legújabb verziója, amely talán a legjobb téma az XBMC-hez, és ritka kombinációja: gyönyörű ... Olvass tovább . Ez egyszerűen azt jelenti, hogy a múlt bizonyos pontjain egyes fejlesztők átvették az XBMC kódját, és úgy döntöttek, hogy saját magukkal járnak vele; Plex lett.

Ez természetesen teljesen megengedett, ha a projekt nyílt forráskódú - elviszi a kódot, bármit megtehet vele. Git-rel, ha úgy érzi, hogy a változások elég jók ahhoz, hogy visszakerülhessenek a „mester” projektbe, akkor te kérvényezheti a szerzőt, kérve őket, hogy vonják vissza a módosításokat az eredeti példányukba projektben. Ez lehetővé teszi, hogy százezrek fejlesztők dolgozhassanak egy projekten bármikor, és egyiküknek sem kell szükségszerűen jóváhagyják a kódhoz való hozzáférést - csak lemásolják a kódot, módosítanak, és kérik, hogy tegyék vissza a kódba fő. Természetesen az eredeti projekt tulajdonosától függ, ha úgy dönt, hogy elfogadja-e a változtatásokat.

Az elágazást valamelyik projekten belül hajtják végre, amelyet az engedélyezett fejlesztők végeznek. Ez lehetővé teszi az egyes problémák vagy funkciók könnyű elkülönítését, és a fő fájlok megbontása nélküli munkáját. Miután meggyőződött arról, hogy fióktelepe foglalkozott a kérdéssel, újra összeolvassa a mesterrel. Bármely ponton lehet annyi ága, amennyit csak akar; nem zavarják egymást. Egyesítheti a változásokat az ágak között anélkül, hogy megérintette a mestert.

Íme egy nagyszerű ábra egy példáról a munkafolyamatra Vincent Driessen:

verzióvezérlő szoftver

Legközelebb megvizsgáljuk, hogyan állítsunk be működő Git-példát, és hogyan változtassunk meg kódot az ágakon belül. A verziószabályozás hatalmas téma. Csak a legrövidebb áttekintést adtam itt, de mint fejlesztő, aki hozzászokott a változások végrehajtásához és visszavonásához, ha nem működnek, az egész koncepció felrobbant a fejemben - remélem, a tiéd is.

Ön tapasztalt fejlesztő, aki tapasztalattal rendelkezik Git területén? Most kezdte el, és úgy gondolja, hogy szeretne menni? Hangzik ki a megjegyzésekben!

James rendelkezik mesterséges intelligencia BSc-vel, CompTIA A + és Network + tanúsítvánnyal rendelkezik. A MakeUseOf vezető fejlesztője, és szabadidejét VR paintballon és társasjátékokon játszik. Gyerekkora óta épít PC-ket.