Capitol gratuit

Introducere in controlul versiunilor

Controlul versiunilor (Version Control) este un sistem care inregistreaza modificarile aduse fisierelor de-a lungul timpului, permitandu-va sa reveniti la...

Ce este controlul versiunilor?

Controlul versiunilor (Version Control) este un sistem care inregistreaza modificarile aduse fisierelor de-a lungul timpului, permitandu-va sa reveniti la versiuni anterioare, sa comparati schimbarile si sa colaborati eficient cu alti dezvoltatori.

De ce avem nevoie de controlul versiunilor?

  • Istoric complet - fiecare modificare este inregistrata cu autor, data si descriere
  • Colaborare - mai multi dezvoltatori pot lucra simultan pe acelasi proiect
  • Backup - codul este stocat in mai multe locuri (local si remote)
  • Ramificari - se pot dezvolta functionalitati noi fara a afecta codul principal
  • Revenire - oricand se poate reveni la o versiune anterioara stabila

Tipuri de sisteme de control al versiunilor

Sisteme locale

Cele mai simple - se pastreaza copii ale fisierelor in directoare diferite (ex: proiect_v1, proiect_v2). Aceasta abordare este predispusa la erori si nu permite colaborarea.

Sisteme centralizate (CVCS)

Un singur server central stocheaza toate versiunile, iar dezvoltatorii preiau fisiere de pe server. Exemple: SVN (Subversion), CVS, Perforce. Dezavantajul major: daca serverul central pica, nimeni nu poate lucra.

Sisteme distribuite (DVCS)

Fiecare dezvoltator are o copie completa a intregului repository, inclusiv istoricul. Exemple: Git, Mercurial. Aceasta este abordarea moderna si cea mai folosita.

Caracteristica Local Centralizat (SVN) Distribuit (Git)
Colaborare Nu Da Da
Lucru offline Da Limitat Da (complet)
Backup distribuit Nu Nu Da
Viteza Rapida Depinde de retea Foarte rapida
Branching Manual Lent Instantaneu

Ce este Git?

Git este un sistem distribuit de control al versiunilor, creat de Linus Torvalds in 2005 pentru dezvoltarea kernel-ului Linux. Este cel mai folosit sistem de versionare din lume, utilizat de peste 90% dintre dezvoltatori.

Caracteristici cheie Git:
  • Distribuit - fiecare clone contine istoricul complet
  • Rapid - operatiunile sunt locale, deci extrem de rapide
  • Integritate - fiecare fisier este verificat prin checksum SHA-1
  • Branching eficient - crearea de branch-uri este instantanee
  • Gratuit si open-source - licenta GPL v2

Ce este GitHub?

GitHub este o platforma web de hosting pentru repository-uri Git. Fondata in 2008 si achizitionata de Microsoft in 2018, GitHub adauga peste functionalitatea Git:

  • Interfata web - vizualizare cod, istoric, diff-uri
  • Pull Requests - mecanism de code review si colaborare
  • Issues - sistem de urmarire a bug-urilor si task-urilor
  • GitHub Actions - automatizare CI/CD
  • GitHub Pages - hosting gratuit pentru site-uri statice
  • Securitate - scanare vulnerabilitati, Dependabot
Sfat: Git si GitHub sunt lucruri diferite. Git este instrumentul de versionare (functioneaza local), iar GitHub este platforma online care gazduieste repository-uri Git. Exista si alternative la GitHub: GitLab, Bitbucket, Azure DevOps.

Git vs. alte sisteme de versionare

Aspect Git SVN Mercurial
Tip Distribuit Centralizat Distribuit
Popularitate ~93% din piata ~3% ~2%
Branching Usor si rapid Greu si lent Usor
Performanta Excelenta Buna Foarte buna
Curba de invatare Medie-ridicata Scazuta Medie

Continuați cu restul cursului

Acesta este capitolul 1 din cele 14 ale cursului, cu 5 lecții din 83. Cumpărați cursul și parcurgeți tot conținutul în cont, cu progres salvat, test final și certificat.

Cumpărați cursul la 70 €