Verziókezelő alkalmazások - GIT / GITHUB

Mi az a verziókezelő alkalmazás?

Olyan szoftver- és szolgáltatáscsomag, amelynek segítségével egy fejlesztési folyamat lépésit - mérföldköveit - le tudjuk rögzíteni, le tudjuk menteni és később vissza lehet keresni és visszaállítani a fejlesztési folyamat bármelyik állapotát.

Miért kell a fejlesztőknek verziókezelő alkalmazás?

  • Ha egy magányos fejlesztő dolgozik az otthoni egy szem gépén, akkor a szoftverének mindenkori állapotát úgy lehet letárolni, hogy nyit egy tárolóhelyen (másik számítógépen, másik winchesteren, másik könyvtárban) egy könyvtárat és a fejlesztett szoftver különböző állapotait külön verziószámokkal ellátott könyvtárakba helyezi el. Ebben az esetben nem feltétlenül szükséges verziókezelő alkalmazás. Ebben az esetben azonban minden egyes új változat ugyanannyi helyet foglal el, ami nagy projekteknél komoly tárhelyet jelenthet.
  • Ha a fejlesztő több különböző gépen fejleszt (otthoni, munkahelyi, asztali, laptop), akkor gondot okozhat, hogy az éppen használt verzió melyik gépen micsoda. A különböző gépek között szinkronizálni kellene az alkalmazást, hogy mindig a legutolsó változaton tudjon dolgozni. Mihelyt elszaporodnak az eszközök a szinkronizálás egyre több problémát okoz, mivel nehéz követni, hogy az egyes példányok mennyiben változnak és mennyire kompatibilisek egymással.
  • Ha több különböző fejlesztő dolgozik egy projekten, akkor a közös kiindulási alap fejlesztése során eltérhetnek egymástól a változatok, így szemléletesen szólva a fejlesztések párhuzamos szálakon futhatnak.
  • Ha egy fejlesztés zsákutcának bizonyul, akkor hogyan lehet visszatérni egy korábbi állapothoz gazdaságosan?

A fenti problémákon segítenek a verziókezelő alkalmazások olyan módokon, hogy

  • A közös adatbázisban tárolt fejlesztés minden változata címkékkel van ellátva és olyan módon tárolják, hogy csak a módosított fájlok kerülnek újként a központi adatbázisba, ilyen módon a projekt letárolt változatai nem foglalnak el túl sok helyet.
  • Ha a fejlesztő különböző gépeken és helyeken fejleszt, akkor munkájának aktuális végén a változásokat feltölti a központi adatbázisba, majd a másik helyen letölti a friss változatot a központi adatbázisból. Ilyen módon minden helyszínen az aktuálisan legfrissebb változattal dolgozhat.
  • Ha különböző fejlesztők dolgoznak egy fejlesztés különböző területein, akkor olyan párhuzamos szálakat tudnak tárolni a központi adatbázisban, amelyeknek a kiindulópontja közös, de eltérő irányban fejlődnek. Amikor egy fejlesztés elkészül, akkor egy külön folyamat eredményeként az eltérő szálba be lehet építeni a fejlesztést és a párhuzamosan fejlődő szálak újra tudnak egyesülni.
  • Ha a fejlesztés zsákutcának bizonyul, akkor letöltve a korábbi állapotokat meg lehet vizsgálni, hogy hova kell visszatérni, hogy a fejlesztés új irányban induljon el.