[[oktatas:programozás:verziókontroll|< Verziókontroll]] ====== A verziókontrollról ====== * **Szerző:** Sallai András * Copyright (c) Sallai András, 2014, 2015 * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]] * Web: https://szit.hu ===== A verziókövetésről ===== A **verziókontroll**, vagy **verzió követés**, esetleg **verzió kezelés**; mint azt a neve is mutatja a **programok verzióival** való foglalkozás. Természetesen nem csak programokról lehet szó, lehet bármilyen állomány. Rövidítései: * VCS - Version Control System * SCM - Source Code Management (Az SCM rövidítést a logisztikában is használják, Supply Chain Management, azaz ellátási lánc-menedzsmentként.) Egy program készítése során ha jól strukturált könyvtárszerkezetet hozunk magunknak létre, és következetesek vagyunk mindenféle verziókövető program nélkül is boldogulhatunk. Ha **másokkal** kell **együtt** dolgoznunk egy programon, akkor nagyon jó szolgálatot tesz egy verziókövető rendszer. Gondolkodhatunk persze közös **FTP** tárhelyben, ahova mindenki feltölti saját változatait. Ez azonban **előbb-utóbb káoszhoz** szokott vezetni. Ezért találták ki a verziókövető rendszereket. A **verziókövető** rendszerek nyomon követik **ki, mikor, hol** tett fel újabb verziót. Megőrzi az előző változatokat, amelyekre bármikor visszaválthatunk. {{:oktatas:programozás:verziókontroll:verziokovetorendszer_kliensszerver.png?400|}} ===== Fogalmak ===== | repository | Tároló, ahova az állományok mentésre kerülnek. | | branch | elágazás; fejlesztés másik ágon | | tag | egy változat megjelölése; pl. mert fontos számunkra | | commit | változat elhelyezése a tárolóban | | merge | két változat összefésülése | | checkout | váltás másik változatra (branch), vagy elágazásra \\ /néhol eltérő a használata/ | ===== Osztályozás ===== {{:oktatas:programozás:verziókontroll:verziokezelok_osztalyozasa.png|}} ===== Megvalósítások ===== ==== Rendszer ==== Nyílt forrású, központosított: * [[http://subversion.apache.org/|SVN]] * [[http://savannah.nongnu.org/projects/cvs|CVS]] (Subversion) Nyílt forrású, elosztott: * [[http://git-scm.com/|Git]] * [[http://bazaar.canonical.com/en/|Bazar]] * [[http://mercurial.selenic.com/|Mercurial]] Zárt forrású, központosított: * Perforce - Kereskedelmi Zárt forrású, elosztott: * BitKeeper ==== GUI kliensek ==== * http://qct.sourceforge.net/ (SVN, Mercurial) * http://git-cola.github.io/ (Git) * http://www.rapidsvn.org/ (SVN)