Sari la conținut
Laptop pe un birou cu un editor de cod deschis și un terminal în care se lucrează cu Git
Foto: Daniil Komov / Pexels
IT / Tech

Git explicat simplu: primii pași în controlul versiunilor

Orice proiect digital ajunge, mai devreme sau mai târziu, într-un punct în care ai nevoie să te întorci în timp. Ai modificat ceva care mergea, ai șters din greșeală o funcție sau vrei să compari versiunea de azi cu cea de săptămâna trecută. Fără un sistem de control al versiunilor, soluția tipică este un folder plin de fișiere numite „final”, „final2” și „final-corectat”, în care nimeni nu mai știe care e versiunea bună.

Git rezolvă exact această problemă și a devenit instrumentul standard pentru programatori, dar este util și pentru cine scrie documentație, configurează servere sau lucrează la proiecte personale cu fișiere text. Pare intimidant la început, din cauza terminologiei, însă logica lui este simplă odată ce înțelegi câteva concepte. Ghidul de față te duce de la „ce este Git” până la un flux de lucru pe care îl poți folosi zilnic.

Ce este, de fapt, controlul versiunilor și cum gândește Git

Un sistem de control al versiunilor înregistrează modificările făcute în fișierele unui proiect, împreună cu informații despre cine le-a făcut, când și de ce. Fiecare înregistrare este ca o fotografie a proiectului într-un anumit moment, la care te poți întoarce oricând.

Git este un sistem distribuit, ceea ce înseamnă că fiecare persoană care lucrează la proiect are pe calculatorul ei o copie completă a istoricului. Poți lucra fără internet, poți experimenta liniștit și sincronizezi cu restul echipei doar când ești gata. Asta îl diferențiază de sistemele mai vechi, în care istoricul stătea doar pe un server central.

Conceptele de bază pe care trebuie să le stăpânești

Vocabularul Git sperie mai mult decât merită. Iată termenii care apar cel mai des, explicați fără jargon:

  • Depozitul (repository). Folderul proiectului, plus un subfolder ascuns în care Git își ține istoricul. Îl creezi o singură dată, la începutul proiectului.
  • Commit-ul. O salvare cu nume. Conține modificările selectate și un mesaj scurt care explică ce ai schimbat. Commit-urile formează istoricul proiectului.
  • Zona de pregătire (staging). O etapă intermediară în care alegi ce modificări intră în următorul commit. Îți permite să salvezi separat lucruri care nu au legătură între ele.
  • Ramura (branch). O linie paralelă de dezvoltare. Lucrezi la o funcție nouă pe o ramură separată, fără să strici versiunea principală, și o unești când e gata.
  • Unirea (merge). Operațiunea prin care modificările de pe o ramură sunt aduse în alta.
  • Depozitul la distanță (remote). O copie a proiectului găzduită pe un server sau pe o platformă online, folosită pentru colaborare și ca loc de rezervă.

Primul tău proiect cu Git, pas cu pas

Cel mai bun mod de a înțelege Git este să-l folosești pe un proiect mic, chiar și pe un folder cu câteva fișiere text. Comenzile de mai jos se scriu în terminal, dar majoritatea editoarelor de cod au și o interfață grafică pentru aceleași operațiuni.

  1. Instalează Git și configurează-ți identitatea. După instalare, setezi o singură dată numele și adresa de e-mail care vor apărea în commit-uri, cu git config –global user.name și git config –global user.email.
  2. Inițializează depozitul. În folderul proiectului rulezi git init. Din acest moment Git urmărește folderul.
  3. Verifică starea. Comanda git status îți arată ce fișiere sunt noi, ce s-a modificat și ce e pregătit pentru commit. Este comanda pe care o vei folosi cel mai des.
  4. Pregătește modificările. Cu git add urmat de numele fișierului adaugi modificările în zona de pregătire.
  5. Salvează commit-ul. Rulezi git commit -m urmat de un mesaj între ghilimele care descrie clar schimbarea.
  6. Consultă istoricul. Cu git log vezi lista commit-urilor, cu autor, dată și mesaj.
  7. Creează o ramură pentru o idee nouă. Cu git switch -c urmat de un nume creezi ramura și treci pe ea. Experimentezi liber, iar dacă ideea nu merge, revii pe ramura principală ca și cum nimic nu s-ar fi întâmplat.

Dacă înveți programare și vrei să exersezi aceste comenzi într-un mediu ghidat, multe dintre platformele online interactive pentru învățarea programării includ module dedicate lucrului cu Git, cu exerciții în care vezi imediat efectul fiecărei comenzi.

Cum scrii commit-uri care chiar te ajută

Un istoric bun este un jurnal al proiectului. Unul prost este o listă de mesaje precum „modificări” sau „fix”, din care nu înțelegi nimic peste o lună. Câteva reguli simple fac diferența:

  • Fă commit-uri mici, fiecare legat de o singură schimbare logică. Este mult mai ușor să anulezi o modificare izolată decât să desfaci un commit care atinge zece lucruri diferite.
  • Scrie mesajul la modul imperativ și concret, de exemplu „Adaugă validarea adresei de e-mail în formular”.
  • Explică „de ce”, nu doar „ce”, atunci când motivul nu este evident din cod.
  • Nu include în commit fișiere generate automat, parole sau chei de acces. Pentru asta există fișierul .gitignore, în care enumeri ce trebuie ignorat.

Un istoric curat te ajută pe tine în primul rând. Peste câteva luni, vei fi și tu un cititor nou al propriului cod.

Lucrul în echipă: depozite la distanță și ramuri

Adevărata putere a lui Git apare când mai mulți oameni lucrează la același proiect. Fiecare are copia lui, lucrează pe ramuri proprii și trimite modificările într-un depozit comun. Comenzile de bază sunt git push, care trimite commit-urile tale pe server, și git pull, care aduce modificările colegilor.

Un flux de lucru simplu și des întâlnit arată așa: ramura principală conține mereu versiunea stabilă, fiecare funcție nouă se dezvoltă pe o ramură separată, iar unirea se face după ce un coleg a revizuit codul. Platformele de găzduire pentru Git oferă pentru asta cereri de unire, în care se discută modificările înainte de a ajunge în versiunea principală. Dacă echipa folosește deja un instrument de organizare a sarcinilor, legătura dintre ramuri și tichete devine naturală; găsești idei în articolul despre cele mai bune aplicații pentru gestionarea proiectelor IT.

Conflictele nu sunt o catastrofă

Un conflict apare când două persoane modifică aceleași rânduri din același fișier. Git nu ghicește care variantă e corectă, ci marchează zona și te lasă pe tine să decizi. Deschizi fișierul, păstrezi varianta potrivită sau le combini, salvezi și faci commit. Cu ramuri de scurtă durată și sincronizări dese, conflictele devin rare și mici.

Greșeli frecvente ale începătorilor

Aproape toți cei care învață Git trec prin aceleași momente de panică. Vestea bună este că foarte puține lucruri sunt cu adevărat ireversibile, atâta timp cât modificările au fost salvate într-un commit.

  • Lucrul direct pe ramura principală. Obișnuiește-te să creezi o ramură pentru fiecare sarcină, chiar și în proiectele personale.
  • Commit-uri uriașe, făcute rar. Dacă lucrezi o zi întreagă fără commit, pierzi exact avantajul principal: punctele de revenire.
  • Folosirea comenzilor „forțate” fără să le înțelegi. Opțiunile care rescriu istoricul pot șterge munca altora din depozitul comun. Folosește-le doar când știi exact efectul.
  • Date sensibile urcate în depozit. O parolă ajunsă într-un commit rămâne în istoric chiar dacă o ștergi ulterior din fișier. Schimb-o imediat și configurează corect fișierul de ignorare.
  • Teama de terminal. Interfețele grafice sunt utile, dar câteva comenzi de bază învățate în terminal te ajută să înțelegi ce se întâmplă în spate.

Dincolo de cod: unde mai este util Git

Git funcționează cel mai bine cu fișiere text, așa că îl poți folosi pentru notițe în format Markdown, pentru documentația unui produs, pentru fișierele de configurare ale serverelor sau chiar pentru manuscrisul unei cărți. Oriunde ai nevoie de istoric, comparații între versiuni și posibilitatea de a reveni, Git își face treaba. Pentru fișiere binare mari, precum videoclipuri sau proiecte grafice, există extensii dedicate, dar acolo merită analizat dacă alt tip de stocare nu e mai potrivit.

Întrebări frecvente

Git și platformele de găzduire online sunt același lucru?

Nu. Git este programul care rulează pe calculatorul tău și ține evidența versiunilor. Platformele online sunt servicii care găzduiesc depozite Git și adaugă unelte de colaborare, precum revizuirea codului, gestionarea problemelor raportate sau automatizări. Poți folosi Git fără nicio platformă, doar local, iar proiectul rămâne complet funcțional.

Pot anula un commit făcut din greșeală?

Da, există mai multe variante. Dacă ai făcut commit-ul doar local, îl poți modifica sau anula ușor. Dacă l-ai trimis deja în depozitul comun, varianta sigură este un commit nou care inversează modificările, pentru că istoricul rămâne coerent pentru toți colegii.

Cât durează până mă descurc cu Git?

Comenzile de bază se învață în câteva ore de exercițiu. Lucrul cu ramuri și rezolvarea conflictelor devin naturale după câteva săptămâni de folosire constantă. Restul funcțiilor avansate le descoperi treptat, pe măsură ce ai nevoie de ele.

Începe cu un proiect mic, fă primele commit-uri, creează o ramură și unește-o înapoi. După câteva zile de folosire, comenzile devin reflex, iar întrebarea nu va mai fi „de ce să folosesc Git”, ci „cum am lucrat până acum fără el”. Este una dintre acele deprinderi care îți economisesc timp în fiecare proiect, indiferent dacă scrii cod profesionist sau doar îți organizezi mai bine fișierele.

Foto: Daniil Komov / Pexels