Version Control System, este un sistem care tine minte versiunile anterioare fisierelor la care lucrez, principalul scop fiind ca poti recupera parti din cod mai vechi ale acelui fisier, poti compara 2 versiuni ale fisierului si vezi exact ce s-a modificat, vezi ce programator a facut modificari asupra fisierului ( in caz ca o echipa lucreaza la proiect )
Aceste versiuni ale fisierelor se salveaza intr-un fel de depozit. Acest de poziti poate fi ori pe serverul unde lucrezi, sau pe un alt server.
Fisierele cu care se poate lucra sunt atat fisierele text, cat si imaginile.
Partea interesanta este ca versiunile care se salveaza, de fapt, nu sunt fisierele intregi cu modificarile facute, ci doar acele modificari pe care le-ai facut, salvand astfel spatiu pe disc destul de mult.
Exista mai multe VCS-uri, dar cele mai folosite sunt CVS, SubVersion, Git, etc.
Eu am lucrat cu Git ca sistem de versionare, gitBash pentru executarea comenzilor in linie de comanda( sau din netbeans se pot executa mai simplu) si github.com pentru crearea de repository.
Primul pas este crearea unui cont pe github.com si adaugarea unui repository (sa-l numim "learning"). Al 2-lea pas este instalarea programului gitBash ce-l vom folosi pentru repository. Toate comenzile aici le vom scrie. Pentru a copia fisierele din repository sa zicem, pe partitia d:/work/learning intram in gitBash si tastam:
$ d:(enter)
$ cd work(enter)
Mai trebuie setat un email si un nume pentru requesturile pe care le vei face:
$ git config --global user.email "mail@mail.com"
$ git config --global user.name "Bogdan"
Pentru a "trage" fisierele din repository-ul learning in directorul local learning (care se va crea automat) folosim comanda:
$ git clone https://github.com/username/learning.git
unde username este userul creat pe github. dupa ce ati tastat enter, puteti verifica directorul local learning, sa vedeti ca fisierele de pe server au fost copiate pe local. La crearea unui repository pe gitHub se creaza si un fisier readme.txt pe care il veti gasi. Prima data, fi se creaza si un branch nou, numit Master.
Daca se doreste copierea fisierelor de pe server dintr-un anumit branch:
git clone -b my-branch https://github.com/username/learning.git
Pentru a schimba branche-ul de pe server in master:
git branch --set-upstream-to origin/master
Pentru a crea un branch nou, numit testing:
$ git branch testing
Pentru a vedea toate branch-urile locale:
$ git branch
Pentru a vedea branch-urile din repository
$ git ls-remote --heads
sau
$ git branch -r
sau
$ git remote show origin
sau sa arate branch-urile locale si remote
$ git branch - a
pentru a schimba branchul local actual pe care suntem cu altul (master de exemplu):
$ git checkout master
Pentru a vedea ce fisiere exista in plus fata de ce e pe server se tasteaza comanda:
$ git status
Pentru a adauga noile fisiere/modificari
$ git add .
Pentru a adauga noile modificari in repository-ul local, gata pentru a fi puse pe server tastam:
$ git commit -m "my message"
Pentru a adauga noile modificari si in repository-ul de pe server:
$ git push