Verziókövetés

Nemrégiben meghirdettem egy munkát. Az egyik jelentkező akkor tűnt el a semmibe amikor mondtam neki, hogy SVN-ről töltse le a legfrissebb verziót. Gondolom fogalma sem volt róla, hogy mi az és ciki lett volna megkérdezni. A verziókövető rendszerek használata gyors rászokáshoz vezet, szóval a továbbiakat csak saját felelősségre tessék olvasni.

Mi az a verziókövetés

A verziókövető rendszerek arra szolgálnak, hogy a programkódunk minden változatát elmentsék és segítsék a korábbi verziókra való visszatérést és a csoportmunkát.

Minek ez nekem?

Miért akarnék visszatérni egy korábbi verzióhoz? Előfordult már veled, hogy a webalkalmazásod egyik hibajavítását, fejlesztését kiélesítve hirtelen megjelent egy durva hiba az egyik alapfunkcióban? Előfordult, hogy pár órás vagy napos munka után rájöttél, hogy rossz irányba mész és elölről kellene kezdened? Ha igen, akkor a verziókövetés akkor is segíteni fog ha csak egyéni fejlesztő vagy és nem csapatban dolgozol. Ha még nem fordult elő veled ilyen, akkor hidd el nekem hamarosan elő fog. És nem egyszer.

Ha csoportban dolgozol akkor egy remek segítség abban, hogy ne kelljen egymásra várni, hanem egyszerre tudjatok dolgozni különböző részeken.

Mivel?

Több elterjedt verziókövető rendszer is van. A CVS-nek kezd leáldozóban lenni mivel a SVN szépen átvette az uralmat. Nem tudom a piac megoszlásának arányait de saját tapasztalataimból úgy tűnik, hogy a Git gyorsabban népszerűsödik mint ahogy az az SVN szeretné.
A magam részéről az SVN-nel kötöttem szorosabb ismeretséget mivel a projectjeimet többnyire a Google Code-nál hostolom és ott az SVN az egyetlen elérhető verziókövető rendszer.

Alapok

A verziókövetéshez szükséges egy szerver ami a verziókezelésbe vont fájlokat tárolja. Első alkalommal feltöltünk egy induló változatot és utána minden egyes újbóli feltöltésnél a rendszer azt fogja eltárolni, hogy melyik fájlok változtak és miben. Ezzel a módszerrel biztosítja azt, hogy lépésenként láthassuk, hogy hogyan változtak a fájlok és bármelyik verzióra vissza tudjunk térni.

Használat közben

Ha egy személyes fejlesztőként dolgozol akkor a verziókövetést használhatod úgy mint egy backup rendszert. Időnként feltöltöd a legfrissebb állapotot és hozzáférhetsz ehhez is és a korábbi verziókhoz is.

A Google Code-on a verziókövetést összekapcsolták az issue / hiba kezelő rendszerrel. Azaz egy helyen tudom nyilvántartani a bejelentett bugokat, fejlesztési igényeket és a javító fájlokat. Ez nagyon jól jön amikor egy-egy frissítésnél előbukkanó hiba okát akarjuk megtalálni.

Ha csapatban dolgozol akkor az egész csapatnak jó segítség, hogy nem kell egymásra várni, fájlokat szinkronizálni, küldözgetni egymásnak, hanem van egy központi hely a legfrissebb fájlokkal és mindenki dolgozhat a saját részén. Akár még ugyanazon a fájlon is dolgozhat két külön fejlesztő egy időben anélkül, hogy összeakadnának egymással. Persze ha ugyanazokat a funkciókat piszkálják akkor a rendszer nem fogja tudni eldönteni, hogy melyikük változatát használja, ilyenkor jelez, hogy a verziók között konfliktus van és javítsuk ki kézzel.

Összességében csak az indító gondolatot tudom ismételni, azaz ha az ember egyszer elkezd egy verziókövető rendszert használni és átverekszi magát a kezdeti lépéseken, akkor utána már nem érti, hogy hogyan tudott eddig nélküle létezni.

Musthave minden hobbiból, hivatásból vagy akármi okból fejlesztő részére.

6 thoughts on “Verziókövetés

  1. Eddig csak héba-hóba olvastam a verziókövetőkről, de eme iromány hatására belemélyedtem, és azt kell mondjam, brutálisan jó. Eddig nem is tudom hogy tudtam élni enélkül. Lájkolnám, ha lenne gomb 🙂

  2. Hi!

    Én most ismerkedem vele (már régóta tervbe van véve) viszont közel vagyok egy strokehoz. Netbeans-el akarom összehergelin a Collab Subversion-t. Minden működni látszik, nagynehezen importáltam, viszont a megadott path helyett betette a mydocumentsbe. Ettől a foldertől alapból herótom van, pláne ha a melóimat akarja ott tárolni valami elcseszett automatika. Hiába erőltetem neki a saját folderemet nem kell neki:(

    Érdemes online tárolni a motyót? Van rá esély hogy a kódom lenyúlás áldozata lesz?

  3. @rzs007 Nem ismerem az SVN-t, de én tapasztalatból mégis azt javaslom, hogy amit nem szeretnél mások kezére adni vagy ha egyáltalán nem opensource, akkor azt SOHA ne tedd fel a netre.

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

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