Noțiuni de bază - it1208 gestionează dezvoltarea sistemelor informatice
Mulți oameni care nu sunt familiarizați cu sistemele moderne de control al versiunii, având în vedere problemele menționate mai sus, încearcă să „reinventeze roata“ pentru sarcinile de zi cu zi legate de muncă cu privire la schimbarea informațiilor. Pentru a înțelege modul în care un sistem de control al versiunilor poate facilita acest proces, să ne ia în considerare pe scurt evoluția abordărilor la versionarea.
Versionare „manual“
Aceste abordări sunt foarte simple, care este motivul pentru care sunt atât de populare în rândul utilizatorilor obișnuiți, dar au o serie de deficiențe grave:
Situația este complicată și mai mult dacă lucrați simultan cu mai multe fișiere, așa cum se întâmplă în dezvoltarea de software. Evident, suport pentru mai multe versiuni ale manual este incomod, și devine rapid costisitoare.
modelele tradiționale
Sisteme de control al versiunii locale
Dezvoltatorii de software au fost primii care au intrat într-o soluție pentru versionare probleme. Baza primelor sisteme de control al versiunii au fost algoritmi de comparare de fișiere și obiecte de baze de date simple locale. Modificările înregistrate într-o bază de date de „instantanee“ pentru a captura toate modificările comise.
Aceste imagini conțin numai modificate fișierele, ducând la scăderea deasupra capului pentru stocarea de fișiere și pentru a simplifica căutarea istoricul modificărilor. Mai mult decât atât, sistemul de control al versiunii pentru a restaura toate fișierele care sunt sub controlul versiunilor, în întregime în orice audit.
Sisteme centralizate de control al versiunii
Cu toate acestea, următoarea provocare mare a fost necesitatea de a lucra cu dezvoltatorii, a cărui depozit este pe un alt calculator. Pentru ao rezolva, a fost de a crea un sistem centralizat de control al versiunii. După cum sugerează și numele, aceste sisteme utilizează un server central pentru a stoca fișierele și revizii. Un utilizator de lucru cu documente, trebuie să obțină mai întâi versiunea corectă a documentului să-l într-un depozit central.
Această abordare are multe avantaje, în special față de sistemele locale de control al versiunii. De exemplu, toată lumea știe cine face ce face în proiect. Administratorii au un control granular asupra cine poate face ce, și, desigur, pentru a administra un astfel de sistem este mult mai ușor decât baza de date locală pe fiecare computer client.
Cu toate acestea, această abordare are și dezavantaje. Cel mai evident - serverul centralizat este un punct slab al întregului sistem. Dacă serverul merge în jos timp de o oră, apoi o oră, dezvoltatorii nu pot comunica, și nimeni nu poate salva noua versiune. Dacă discul deteriorat cu o bază de date centrală și nu au o copie de rezervă, ai pierdut absolut toată istoria proiectului, cu excepția câtorva exemplare de lucru, clienții rămași. Sistemele de control al versiunii locale sunt predispuse la aceeași problemă: dacă întreaga istorie a proiectului este păstrat într-un singur loc, risti sa pierzi totul.
În plus, sistemele centralizate de control al versiunii pentru care forța să utilizeze toate operațiunile resursele de rețea din toate punctele de vedere „mai“ locale.
modelul distribuit
Sisteme distribuite de control al versiunii, care includ Git. uita-te la problema în sens mai larg. Spre deosebire de sistemele centralizate, format din versiuni ale server și client instrumente, sisteme distribuite ofera instrumente pentru crearea, clonarea și sincronizarea arhive.
În timpul funcționării normale, un depozit nu este diferită de la un local: Puteți face modificări, de a crea revizii, vizualiza istoricul și restaurarea fișierelor din auditurile anterioare. Și cu munca în echipă vă sincronizați în mod regulat depozit cu alte arhive dezvoltatori (sau un depozit central), iar sistemul de control al versiunii asigură integritatea modificărilor, și minimizează potențialul de conflict.
În organizarea unui depozit central nu este diferit de aceste arhive, care lucrează cu toți clienții. Prin urmare, fiecare client nou, de a începe lucrul cu magazia, primește nu doar o copie de lucru, dar reală „clona“ magazia - copia efectivă de lucru și întreaga poveste. În acest caz, tot ce se poate face cu magazia principală se poate face cu un local.
În plus, cele mai multe astfel de sisteme vă permite să lucrați cu mai multe arhive de la distanță, astfel încât să puteți lucra simultan cu diferite grupuri de persoane într-un singur proiect. De exemplu, într-un singur proiect poate menține simultan mai multe tipuri de fluxuri de lucru, care nu pot fi sisteme centralizate.