Branch-uri
Branch-urile îți lasă să lucrezi la o funcție nouă sau la un fix izolat, fără să atingi codul stabil de pe `main`. Când e gata și testat, îl îmbini înapoi. E fundația oricărui flux de lucru serios, singur sau în echipă.
De ce branch-uri
main trebuie să rămână mereu funcțional (deployabil). Orice muncă nouă — o funcție, un fix, un experiment — se face pe un branch separat. Dacă experimentul eșuează, ștergi branch-ul și main e neatins.
Comenzi
git branch # ce branch-uri am
git switch -c functie/export-pdf # creează și trece pe el
# ... lucrezi, comiți normal ...
git switch main # revii pe main
git branch -d functie/export-pdf # ștergi branch-ul îmbinatConvenții de denumire
- `functie/nume-scurt` sau `feature/...` pentru funcții noi.
- `fix/descriere` pentru corecturi.
- `hotfix/...` pentru corecturi urgente în producție.
- Scurt, descriptiv, cu cratime.
Ține branch-urile mici
Un branch care trăiește 3 săptămâni acumulează conflicte și devine greu de revizuit. Ideal: un branch = o schimbare coerentă, îmbinat în câteva zile. Dacă funcția e mare, sparge-o în bucăți care se pot îmbina independent.
Fluxul tipic de funcție
git switch main git pull # pornești de la cel mai nou main git switch -c fix/validare-email # modifici, comiți de 2-3 ori git push -u origin fix/validare-email # împingi branch-ul # deschizi Pull Request pe GitHub (lecția 6)
Exercițiu
Pe un proiect cu Git, creează un branch pentru o schimbare mică. Fă 2 commit-uri pe el. Împinge-l pe GitHub. Revino pe main, verifică că schimbările NU sunt acolo. Îmbină (lecția următoare) și verifică că apar.
Greșeli frecvente
- Lucrezi direct pe main pentru tot.
- Branch-uri care trăiesc săptămâni și adună zeci de commit-uri.
- Nu faci git pull pe main înainte să pornești un branch nou.
- Nume de branch criptice: „test", „nou", „branch2".
De reținut
- main rămâne mereu funcțional; munca nouă pe branch-uri.
- git switch -c nume creează și trece pe branch.
- Nume descriptive: functie/... , fix/... .
- Branch-uri mici, îmbinate repede.
Pe scurt
Branch-urile izolează munca în curs. main stabil, câte un branch per schimbare, îmbinat cât e încă mic.