Desigur, fără astfel de programe nu aș puteanicio distribuție Linux nu se va dezvolta pe deplin. Instrumentul ales pentru dezvoltarea unui proiect specific face posibilă legarea muncii programatorilor într-un întreg coerent. Cu acest instrument, orice dezvoltator poate face orice modificare programului, iar sistemul de control va înregistra acest lucru și va arăta rezultatul tuturor celorlalți.
În consecință, principiul de bază al acestormijloacele sunt simple - înregistrarea oricăror modificări în codul programului. Când se adaugă fișiere noi la aplicație sau se modifică cele existente, se formează o nouă versiune a întregului program, ceea ce face foarte convenabil și consecvent vizualizarea tuturor modificărilor proiectului. Al doilea factor pozitiv major pe care îl oferă un sistem de control al versiunilor este munca în echipă convenabilă.
Există mai multe opțiuni pentru rezolvarea acestui lucrusarcini. În cel mai simplu caz, un server dedicat este utilizat pentru a găzdui toate fișierele de proiect. După aceea, toți participanții salvează pe computerul lor o copie locală a tuturor datelor de pe server, apoi își fac propriile modificări și le sincronizează cu proiectul de server comun. Un principiu similar este utilizat de sistemul de control al versiunii CVS, precum și de Subversion.
A doua variantă a proiectării sistemului poatesă fie un principiu distribuit (tehnologie peer-to-peer). În acest caz, nu există spațiu de stocare comun, așa că fiecare programator plasează copia sa a proiectului pe mașina sa personală, care este sincronizată cu toate celelalte.
O astfel de abordare descentralizată este destul de populară și este utilizată, de exemplu, de un sistem atât de avansat precum Git.
Trebuie remarcat faptul că sistemele de control pot fi utilizate nu numai de programatori, ci și de cei care trebuie doar să descarce cea mai recentă versiune a aplicației sau să gestioneze documentația.
Astăzi sunt multesoluții interesante pentru organizarea fluxului de lucru și fiecare sistem de control al versiunilor are propriile sale caracteristici. Prin urmare, este important să navigați pe soiul existent pentru a face cea mai bună alegere pentru dvs.
CVS
Sistemul de control al versiunii CVS a apărut dupăcel mai vechi sistem RCS și a fost mai convenabil - mai puține limită de lucru multi-utilizator cu un fișier. Totul a început cu faptul că creatorul acestui nou sistem, Dick Grune, avea inițial nevoie de un instrument pentru dezvoltarea comună a compilatorului C.
Acest instrument folosește un client-servermodel. Serverul reglementează toate modificările aduse fișierelor de către clienți, blocându-le în momentul funcționării sau oferind acces numai în citire. Tot controlul nu vine de la linia de comandă, ci de la propriul shell CVS. Este instalat implicit pe multe sisteme Linux.
Git
Spre deosebire de dezvoltarea anterioară, sistemulcontrolul versiunii Git este o soluție distribuită care nu necesită un server dedicat. Principala diferență este că, dacă, de exemplu, datele se pierd dintr-un proiect comun, atunci acestea pot fi reasamblate cu ușurință din codul distribuit al creatorilor, dar dacă au fost stocate pe server, atunci se întâmplă că această posibilitate nu este disponibilă . Gestionarea în sistem este relativ simplă, deci nu va fi dificil să treceți la utilizarea unui astfel de instrument.