Controlul versiunilor este un sistem care înregistrează modificările aduse fișierelor de-a lungul timpului, permițându-ți să revii la versiuni anterioare atunci când este nevoie. În dezvoltarea software, acest concept este fundamental deoarece oferă un „salvare automată” robustă, protejând munca ta împotriva pierderilor accidentale sau a erorilor introduse în cod. Fără el, gestionarea proiectelor complexe ar fi haotică și riscantă.
Ce trebuie să știi
- Repozitor (Repository): Este folderul principal unde sunt stocate toate fișierele proiectului și istoricul complet al modificărilor.
- Commit: O „instantanee” a stării proiectului într-un moment dat. Fiecare commit are un mesaj descriptiv care explică ce s-a schimbat.
- Branch (Ramificație): Permite crearea unei copii separate a codului pentru a lucra la funcții noi sau bug-fix-uri fără a afecta versiunea stabilă principală.
- Merge: Procesul prin care modificările dintr-o ramură sunt integrate înapoi în alta, combinând istoricul de commit-uri.
- Staging Area: O zonă intermediară unde pregătești fișierele înainte de a le include într-un commit, oferindu-ți control fin asupra a ceea ce se salvează.
Exemplu concret
Imagină-ți că lucrezi la un script Python. Dacă introduci o eroare după 10 ore de muncă, nu trebuie să rescrii totul. Cu Git, poți rula git log pentru a vedea istoricul și git checkout <commit-hash> pentru a reveni exact la starea dinainte de eroare, ca și cum timpul s-ar fi întors.
# Crearea unui nou branch pentru o funcție nouă
git checkout -b feature/noua-functie
# Salvarea modificărilor
git add .
git commit -m "Adaugă validarea formularului"
# Revenirea la ramura principală
git checkout main
Cum să înveți
- Instalează Git local și începe prin a crea un repo simplu. Exersează comenzi de bază precum
init,add,commitșistatuspână devin reflexe musculare. - Folosește GitHub sau GitLab pentru a înțelege fluxul de colaborare. Creează un cont gratuit, încarcă un proiect și experimentează cu crearea de branches și pull requests.
- Nu te teme să greșești. Cea mai bună metodă de învățare este să creezi un proiect fictiv, să introduci intenționat erori și apoi să exersezi recuperarea acestora folosind comenzi de rollback.