Dezvoltare Web

Git pentru Web Developers - De la Zero la Productiv

Invata Git de la zero. Comenzi esentiale, workflows si best practices pentru version control in proiecte web.

A

Andrei Fieraru

Autor

Git version control - workflow diagram

Git e ca o asigurare pentru codul tau - nu stii cat de important e pana cand ai nevoie de el. Am vazut developeri care au pierdut saptamani de munca pentru ca nu foloseau version control.

Ce este Git?

Git este un sistem de version control distribuit. Iti permite sa:

  • Salvezi istoricul complet al proiectului
  • Lucrezi pe mai multe functionalitati in paralel
  • Colaborezi cu alte persoane
  • Revii la versiuni anterioare oricand

Instalare si configurare

Instalare

# macOS
brew install git

# Ubuntu/Debian
sudo apt install git

# Windows
# Download de la git-scm.com

Configurare initiala

git config --global user.name "Numele Tau"
git config --global user.email "email@exemplu.ro"
git config --global init.defaultBranch main

Comenzi esentiale

Initializare proiect

# Proiect nou
git init

# Clonare proiect existent
git clone https://github.com/user/repo.git

Workflow de baza

# Vezi status
git status

# Adauga fisiere pentru commit
git add filename.txt
git add .  # toate fisierele

# Salveaza modificarile
git commit -m "Descriere modificari"

# Trimite la remote
git push origin main

Vizualizare istoric

# Istoric commits
git log
git log --oneline --graph

# Diferente
git diff
git diff --staged

Branching - Lucru in paralel

De ce branches?

  • Izolezi functionalitati noi
  • Poti experimenta fara risc
  • Colaborare fara conflicte

Comenzi branches

# Creeaza branch nou
git branch feature-name

# Schimba branch
git checkout feature-name
# sau (Git 2.23+)
git switch feature-name

# Creeaza si schimba
git checkout -b feature-name
git switch -c feature-name

# Lista branches
git branch

# Sterge branch
git branch -d feature-name

Merge branches

# Te muti pe branch-ul tinta
git checkout main

# Merge branch-ul
git merge feature-name

Git Workflows populare

1. Feature Branch Workflow

Cel mai comun pentru echipe mici:

main ─────●─────●─────●─────●
           \         /
feature     ●───●───●
  1. Creeaza branch pentru fiecare feature
  2. Lucreaza pe branch
  3. Merge inapoi in main

2. Gitflow Workflow

Pentru proiecte cu release-uri:

main     ─────●─────────────●
              |             |
develop ──●───●───●───●───●───●
           \     /
feature     ●───●

Branches:

  • main: cod productie
  • develop: integrare
  • feature/*: functionalitati noi
  • release/*: pregatire release
  • hotfix/*: fix-uri urgente

3. Trunk-Based Development

Pentru CI/CD rapid:

main ───●───●───●───●───●───●
  • Toata lumea lucreaza pe main
  • Commits mici, frecvente
  • Feature flags pentru functionalitati incomplete

Rezolvare conflicte

Cand apar conflicte?

Cand doi oameni modifica aceleasi linii.

Cum arata un conflict?

<<<<<<< HEAD
codul tau
=======
codul celuilalt
>>>>>>> feature-branch

Rezolvare

  1. Deschide fisierul
  2. Alege versiunea corecta (sau combina)
  3. Sterge marcajele (<<<<, ====, >>>>)
  4. git add si git commit

.gitignore - Ce sa NU salvezi

Exemplu .gitignore

# Dependencies
node_modules/
vendor/

# Build output
dist/
build/

# Environment
.env
.env.local

# IDE
.vscode/
.idea/

# OS
.DS_Store
Thumbs.db

# Logs
*.log
npm-debug.log*

GitHub/GitLab best practices

Commits

  • Mesaje clare: “Add user authentication” nu “fix stuff”
  • Commits atomice: o schimbare logica per commit
  • Commits frecvente: nu astepta zile

Pull Requests

  • Descriere clara a schimbarilor
  • Screenshots pentru UI changes
  • Link la issue/task
  • Request review de la colegi

Branch naming

feature/add-login
bugfix/fix-header-mobile
hotfix/security-patch
refactor/clean-api

Comenzi avansate utile

Stash - Pune deoparte temporar

git stash
# lucreaza la altceva
git stash pop

Revert - Anuleaza un commit

git revert abc123

Reset - Intoarce in timp

# Soft: pastreaza modificarile
git reset --soft HEAD~1

# Hard: sterge tot (ATENTIE!)
git reset --hard HEAD~1

Cherry-pick - Copiaza un commit

git cherry-pick abc123

Unelte GUI recomandate

UnealtaPlatformaPret
GitKrakenCross-platformFreemium
SourcetreeWin/MacFree
GitHub DesktopWin/MacFree
VS Code GitCross-platformFree

Erori frecvente si solutii

”Permission denied"

# Genereaza SSH key
ssh-keygen -t ed25519
# Adauga in GitHub/GitLab

"Merge conflict”

Rezolva manual si commit.

”Detached HEAD"

git checkout main

"Push rejected”

git pull --rebase
git push

FAQ

Git vs GitHub?

Git = software version control. GitHub = platforma hosting pentru repos Git.

De ce nu ZIP-uri?

Git e mai eficient, permite colaborare si pastreaza istoric complet.

Pot folosi Git pentru non-code?

Da! Designers folosesc pentru fisiere text, configurari, documentatie.

Cat de des fac commit?

De fiecare data cand ai o schimbare functionala completa.

Concluzie

Git e o abilitate esentiala pentru orice developer. Incepe cu comenzile de baza si extinde gradual. Practica face perfect.

Vrei training Git pentru echipa ta? Iron Media ofera workshop-uri de version control. Contacteaza-ne pentru detalii.

A

Andrei Fieraru

Autor & Creator de continut

Pasionat de design, print si web development. Scrie articole pentru a ajuta afacerile sa creasca prin solutii creative si inovatoare.

Ultima actualizare: 6 decembrie 2025

Articole similare

React vs Vue vs Angular - comparatie frameworks
Dezvoltare Web

React vs Vue vs Angular - Ce Framework sa Alegi in 2025

Comparatie detaliata intre React, Vue si Angular. Afla care framework JavaScript este potrivit pentru proiectul tau web.

C
Cristina Otel