În acest articol veți afla ce este Git și la ce folosește, vă veți crea primul repository pe GitHub și vă veți configura mediul de lucru. Lucrăm intenționat cu Git prin interfața grafică a IDE-ului: e mai ușor de urmărit și mai puțin stresant la început, fără să fie nevoie să țineți minte zeci de comenzi.
Exemplele și capturile de ecran sunt din IDE-urile JetBrains; denumirile și poziția acțiunilor pot diferi în versiunea dumneavoastră. Pentru exerciții, folosiți un repository separat de practică. Într-un proiect de lucru, respectați regulile lui pentru branch-uri, commit-uri și trimiterea modificărilor.
Abordarea asta mai are un rost. În culise, Claude Code face exact aceleași operații Git, doar că prin comenzi în terminal. Când vă propune să faceți un commit, să creați un branch sau să trimiteți modificări, în spate sunt comenzi Git obișnuite. Dacă înțelegeți ce se întâmplă în spatele butoanelor IDE-ului, veți înțelege și ce propune Claude Code și le veți putea verifica și aproba în cunoștință de cauză.
De ce avem nevoie de controlul versiunilor
Când începeți să lucrați la un proiect, pare că cel mai important lucru e ca codul să funcționeze. Dar destul de repede descoperiți că codul se schimbă mai des decât funcționează stabil. Remediați un bug, adăugați o funcționalitate, vă răzgândiți, reveniți la o versiune anterioară, apoi adăugați din nou.
Imaginați-vă că lucrați la propriul proiect. Totul merge bine până când vine momentul experimentelor. Doriți să schimbați ceva, dar vă temeți să stricați versiunea funcțională. Ce faceți? Bineînțeles, copiați proiectul. În scurt timp, pe disc apar asemenea capodopere:
MyProject/
├── main.py
├── main_backup.py
├── main_final.py
├── main_final2.py
├── main_really_final.py
├── main_really1_really_final2.pyVă sună cunoscut? Acum imaginați-vă că un prieten se alătură proiectului. Și el copiază fișiere, dar în felul lui. Cum vă dați seama care e cea mai recentă versiune funcțională? Cum aflați cine a schimbat ce? Cum reveniți la starea inițială dacă experimentul nu reușește?
Fără un istoric salvat, trebuie să vă descurcați manual printre copiile fișierelor:
- puteți pierde ușor codul funcțional sau îl puteți încurca;
- nu există o metodă unică pentru a găsi și restaura o versiune salvată;
- e greu să lucrați în doi sau în trei;
- apare haosul și teama de a experimenta.

Exact aceste probleme le rezolvă sistemele de control al versiunilor, cum este Git.
Video - bazele Git în terminal
Videoclipul oferă o bază solidă pentru lucrul cu Git în terminal și vă ajută să înțelegeți mecanismele ascunse în spatele butoanelor IDE-ului.
Exemplele din videoclip sunt în Java, dar operațiile de bază Git sunt aceleași în toate limbajele.
Deschideți videoclipul despre bazele Git
Ce este Git - conceptele de bază
Git este un sistem de control al versiunilor folosit pentru a urmări modificările codului în timpul dezvoltării. Vă permite să păstrați versiuni diferite ale fișierelor și să coordonați munca mai multor persoane la un proiect comun.
Un repository (sau "repo") este locul în care se păstrează întregul istoric al proiectului: toate modificările și versiunile fișierelor.
Un commit este o captură salvată a conținutului urmărit din proiect, însoțită de un mesaj, informații despre autor și legături către commit-urile părinte. Fișierele neincluse într-un commit și cele ignorate nu fac parte din această captură. Istoricul vă permite să găsiți și să restaurați o versiune salvată anterior.
Fiecare commit este o captură a proiectului care urmează după cea anterioară, formând un istoric succesiv al modificărilor.
Un branch este un nume care indică spre commit-ul curent al unei linii de dezvoltare. În exemple, branch-ul principal se numește main; în repository-ul dumneavoastră poate avea alt nume. Depinde de setări și de modul în care a fost creat repository-ul.
Din branch-ul principal main se desprinde branch-ul develop pentru dezvoltare în paralel. După ce se termină lucrul, modificările din develop se îmbină înapoi în main.
Comenzile Git de bază - ce se întâmplă în culise
Mai jos găsiți o listă cu comenzile de bază pentru lucrul cu Git în terminal. Noi vom lucra prin interfața grafică a IDE-ului, dar e util să știți ce comenzi stau la baza operațiilor: Git le execută în spatele fiecărui buton, iar Claude Code le rulează când lucrează cu repository-ul dumneavoastră. Gândiți-vă la ele ca la ceea ce se întâmplă în culise.
| Comandă | Ce face |
|---|---|
git init | inițializează un repository Git nou în folderul curent |
git clone | copiază un repository dintr-un URL într-un folder nou |
git status | arată ce fișiere au fost modificate, pregătite și pe care Git încă nu le urmărește |
git add | adaugă fișiere în index (staging) pentru următorul commit |
git commit | înregistrează modificările pregătite ca o nouă captură în istoric |
git push | trimite commit-urile din repository-ul local în cel la distanță |
git pull | preia modificările și le combină cu branch-ul curent conform setărilor |
git fetch | descarcă modificările de pe server, dar încă nu le integrează în branch-ul dumneavoastră |
git branch | afișează, creează sau șterge branch-uri |
git checkout / git switch | switch schimbă branch-ul; checkout poate și să deschidă un anumit commit și să restaureze fișiere |
git merge | îmbină modificările branch-ului indicat în cel curent |
git log | afișează istoricul commit-urilor |
git diff | fără opțiuni, compară fișierele de lucru cu indexul; modificările pregătite se verifică separat |
git restore | restaurează fișierele selectate; dacă nu specificați sursa, fișierele de lucru sunt preluate din index, nu neapărat din ultimul commit |
git reset | modifică indexul sau poziția branch-ului curent; efectul depinde de forma comenzii și de mod |
git stash | pune temporar deoparte modificările neterminate, ca să reveniți la ele mai târziu |
git remote -v | arată la ce repository-uri la distanță este conectat proiectul |
git config | setările Git, de exemplu numele și emailul autorului commit-urilor |

Nu e nevoie să memorați toată lista. La început, e suficient să știți că acțiunile din IDE și cele ale agentului se bazează pe operații Git, iar o singură acțiune din interfață poate rula mai multe comenzi. De exemplu, acțiunea Commit folosește git commit, iar butonul Push apelează git push.
- Fișiere de lucru
- git add → index
- git commit → istoric
- git push → server
Diagrama arată trimiterea: pregătiți conținutul cu add, îl înregistrați local prin commit și trimiteți commit-urile cu push. În direcția opusă, pull preia commit-urile de la distanță și le combină cu branch-ul curent conform setărilor.
Acesta este mecanismul pe care Claude Code îl folosește în locul dumneavoastră. Când spune că va crea un commit și va trimite modificările, în spate sunt git add, git commit și git push. Vedeți rezultatul în aceeași fereastră IDE și îl puteți verifica.
Patru stări ale codului
Când folosiți controlul versiunilor, codul trece, din punct de vedere logic, prin patru stări:
1. Working Directory (directorul de lucru). Fișierele actuale ale proiectului de pe calculator, pe care le editați chiar acum.
2. Staging Area (zona de staging). Conținutul pregătit pentru următorul commit. În JetBrains puteți lucra cu liste de modificări sau puteți activa un mod staging separat. Bifele din fereastra Commit obișnuită selectează conținutul pentru commit, dar nu înseamnă că acesta se află deja în indexul Git.
3. Local Repository (repository local). Copia personală a istoricului codului de pe calculatorul dumneavoastră. Aici puteți crea commit-uri, branch-uri și merge-uri chiar și fără internet.
4. Remote Repository (repository la distanță). Un spațiu central de stocare a codului pe servicii precum GitHub, GitLab sau Bitbucket. Păstrează codul în siguranță și stă la baza colaborării în echipă.
Când Claude Code vă cere să începeți urmărirea unui fișier nou, îl mută din directorul de lucru în staging - aceasta este comanda git add. Astfel, se pregătește conținutul fișierului exact așa cum era în momentul adăugării; modificările ulterioare trebuie pregătite din nou. Dacă fișierul nu trebuie adăugat (de exemplu, e un fișier temporar inutil), puteți refuza.
Git și GitHub - care e diferența
Este important să deosebiți clar cele două noțiuni. Git este un program care rulează local pe calculatorul dumneavoastră (chiar și fără internet) și urmărește versiunile fișierelor. GitHub este un serviciu cloud (un site) unde sunt păstrate copii la distanță ale repository-urilor Git.
GitHub vă permite să creați repository-uri, să urmăriți modificări și să lucrați la cod împreună cu alte persoane. Pentru un dezvoltator de azi, profilul GitHub e o parte importantă a portofoliului, pe care o puteți arăta unui angajator.
Crearea primului repository pe GitHub

Pasul 1. Accesați https://github.com și creați-vă un cont.
Pasul 2. Apăsați butonul New repository pentru a crea un repository nou.

Pasul 3. Setați opțiunile repository-ului:
- numele repository-ului - alegeți un nume sugestiv;
- Public sau Private - alegeți cu grijă vizibilitatea. Public este accesibil tuturor; Private limitează accesul. Pentru un exercițiu personal pe care nu intenționați să-l publicați, puteți alege Private.
- Add a README file - pentru un proiect nou și gol e util să adăugați un README. Dacă urmează să trimiteți un istoric local existent, creați un repository la distanță gol, fără README, ca să nu ajungeți la două istorii inițiale independente.
- Add .gitignore - alegeți un șablon potrivit tehnologiei proiectului. Lista derulantă include șabloane pentru limbaje populare. E important: procesul de build și managerii de pachete creează multe fișiere temporare și cache-uri care nu ar trebui să aglomereze repository-ul, iar șablonul îl ajută pe Git să le ignore;
- Choose a license - puteți sări peste acest pas;
- apăsați
Create repository.

Pasul 4. Gata, primul repository la distanță a fost creat.

Instalarea și configurarea Git
În continuare este prezentată interfața IntelliJ IDEA. Alte IDE-uri JetBrains oferă acțiuni similare, dar poziția butoanelor și denumirile opțiunilor depind de versiune. Orientați-vă după numele acțiunii; o puteți găsi prin căutarea de acțiuni din IDE.
Pentru a lucra cu Git, trebuie mai întâi să-l instalați. Dacă folosiți un IDE JetBrains, probabil vă va propune instalarea Git dacă nu îl găsește în sistem - cel mai simplu este să acceptați.
Închideți proiectul curent folosind File | Close Project. Pe ecranul de pornire (Welcome Screen), apăsați Clone Repository (în unele versiuni, butonul se numește Get from VCS).

Dacă preferați să instalați Git manual, descărcați-l de pe site-ul oficial: https://git-scm.com/downloads.
Un detaliu important
Pentru primul commit, Git are nevoie de numele autorului și de email. Acestea identifică autorul commit-ului, nu sunt date de autentificare în cont. Pentru a lega commit-urile de GitHub, folosiți o adresă confirmată din setările contului sau adresa noreply oferită de GitHub dacă nu doriți să vă publicați emailul personal.
GitHub asociază commit-urile cu profilul pe baza adresei de email. Potrivirea adresei, de una singură, nu garantează afișarea commit-ului în graficul de activitate: există și alte condiții.
Ce să instalați pentru ca Claude Code să lucreze direct cu Git și GitHub
Pentru commit-uri și branch-uri locale, e suficient să aveți Git instalat: nu trebuie să vă autentificați în GitHub. Pentru operațiile cu un repository la distanță, configurați accesul la acesta. GitHub CLI (gh) este un instrument suplimentar pentru PR-uri și alte funcții GitHub, nu o componentă obligatorie a Git.
1. Git. Este necesar pentru lucrul cu istoricul local. Instalați-l prin IDE sau de pe site-ul oficial Git.
2. GitHub CLI (gh) este utilitarul oficial GitHub pentru linia de comandă. La ce folosește? Prin el, Claude Code poate crea pull request-uri, poate citi issues și vedea starea verificărilor (checks) direct din terminal, fără să treacă în browser. Modul de instalare depinde de sistemul de operare.
Instrucțiunile pentru sistemul dumneavoastră de operare sunt pe pagina oficială GitHub CLI. Instalați utilitarul și verificați dacă este disponibil cu comanda gh --version.
Dacă ați ales GitHub CLI, porniți configurarea accesului și urmați întrebările afișate. Pentru GitHub.com puteți alege HTTPS și autentificarea prin browser:
# autentificare în contul GitHub din terminal
gh auth loginClaude Code poate folosi git pentru istoric și gh pentru funcțiile GitHub. Instalați gh și rulați gh auth login doar dacă alegeți această metodă de lucru cu GitHub. Crearea PR-urilor și trimiterea commit-urilor se fac la cererea dumneavoastră, după ce verificați ce va fi trimis.
main vs master
În repository-uri veți întâlni numele main și master. GitHub propune de obicei main, iar la inițializarea locală Git ține cont de versiunea sa și de setarea init.defaultBranch. Verificați numele real al branch-ului din proiect.
Ambele nume desemnează un branch obișnuit. Adaptați comenzile din exemple la numele reale ale branch-urilor din repository-ul dumneavoastră.
Cum funcționează împreună cu Claude Code
Acum că știți conceptele de bază din Git, e mai ușor să urmăriți acțiunile lui Claude Code. Iată ce face cu această tehnologie în locul dumneavoastră și la ce merită să fiți atenți:
- rulează pentru dumneavoastră
git add,git commit,git pushși alte comenzi - aceleași comenzi pe care le folosesc butoanele IDE-ului; - propune să adauge un fișier în lista celor urmărite (
git add) - dumneavoastră decideți dacă fișierul trebuie să apară în istoric; - propune un commit cu mesajul deja pregătit - citiți ce va înregistra, apoi îl acceptați sau îl modificați;
- prin GitHub CLI poate crea și comenta un pull request (PR - o propunere de îmbinare a unui branch în cel principal) și poate urmări starea verificărilor.
Înainte să aprobați, verificați ce fișiere și modificări vor intra în commit. Claude Code le afișează la fel ca IDE-ul, sub forma unui diff. Aici rămâne controlul la dumneavoastră: știți întotdeauna ce anume ajunge în istoricul proiectului și pe server.
GO TO FULL VERSION