Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
1 result

2_versioning.md

Blame
  • Verziókezelés

    Mi is az a verzió kezelés?
    Talán a legegyszerűbb egy példán keresztül szemléltetni. Tegyük fel egy docx fájlt szerkesztünk és ezt hetente frissítve rendszeresen el kell küldenünk emailben valakinek. Ilyenkor különböző verziók keletkeznek a fájlból és ezeket a postafiókunkból könnyedén előtudjuk szedni.

    Na ugyanazen a példán tovább mehetünk. Mi van ha lokális kezdjük ezeket a fájlokat tárolni? Gondolom mindenki találkozott már hasonló fájlnevekkel:

    elso_beadasom.docx
    masodik_beadasom.docx
    masodik_beadasom (1).docx
    masodik_beadasom (1) Javított.docx
    masodik_beadasom (1) Javított másolata.docx
    asd.docx
    asdasd.docx
    asdasdasdasd.docx

    Ha ügyesek vagyunk még mappákat is készítünk és dátumot is hozzá cimkézünk.

    2020/
      09/
        13/
          elso_beadasom.docx
        19/
          masodik_beadasom_felkesz.docx
        20/
          masodik_beadasom.docx
          masodik_beadasom_javitott.docx
          masodik_beadasom_vegleges.docx
        ideiglenes/
          asd.docx
          asdasd.docx
          asdasdadsads.docx

    Persze az operációs rendszer képes dátum alapján rendezni, és megspórol nekünk pár lépést, de mi van ha ezt valakinek el is szeretnénk küldeni? Mi van ha a módosítás dátuma közben módosul? Hogyan biztosítjuk, hogy közben nem sérülnek a fájlok?

    Ezekre megoldást adnak a különböző verziókezelő rendszerek.
    Többek közt dolguk, hogy fájljaink számon tartsák, ahogy például kézileg tettük.

    Milyen verzió kezelő rendszereink lehetnek?

    Helyi

    Erre a fenti példa legjobb példa. Vannak különböző verziói a fájlunknak és ezeket valamilyen adatbázisban rögzítjük.

    Local Version Control Systems

    Ilyen az RCS

    Központosított

    Ez már egy fokkal okosabb. A különböző verziókat a központi szerverre rakjuk fel és onann szedjük le. Például van egy Fájlszerverünk amit minden gépről elérnek az emberek és oda dolgoznak közösen.
    Érezhető probléma, hogy így ha meghal a központi szerver, akkor mindent elvesztünk. Továbbá probléma lehet, hogy egymás munkáját felülírjük, szerencsére egy jó rendszernél erről értesítést kapunk, hozzá és nem felülírjuk a módosításaink.

    Centralized Version Control Systems

    Megosztott

    Na és itt lépünk be ma is használt Git világába. Ennél a megoldásnál már az a trükk, hogy mindenkinek meg van a teljes projekt az összes verziójával. Felmerül, hogy na de akkor honnan szedjük le a legújabb verziót? Különböző megoldások léteznek, például a fejlesztők a módosításokat azonnal megosztják egymással (pl.: p2p Torrenthez hasonló módon) vagy kijelölnek egy központi szervert amivel mindenki szinkronban van. Ilyen például a Github vagy a Gitlab.
    Csak megjegyzem, de akár a módosításokat Emailben is ellehet küldeni és a szoftver automatikusan megcsinálja a többi a mi részünkön.

    Distributed Version Control Systems

    Előző | Következő