webroad.online
  1. 1Web
  2. 2HTML
  3. 3CSS
  4. 4JavaScript
  5. 5TypeScript
  6. 6Git
  7. 7Unelte
  8. 8React
  9. 9State management
  10. 10Next.js
  11. 11Formulare
  12. 12Date și backend
  13. 13SEO
  14. 14Tailwind CSS
  15. 15Animații
  16. 16Testare
  17. 17Arhitectură
Git · Lecția 1 din 3

Git: bazele

Repo, commit, staging area, comenzile de zi cu zi și .gitignore.

Actualizat

Ce este Git

Git e un sistem de control al versiunilor: ține istoricul complet al proiectului — fiecare modificare, cine a făcut-o, când și de ce. Poți reveni oricând la o versiune anterioară, poți lucra în paralel cu alții și poți încerca idei fără să strici ce merge.

GitHub (sau GitLab) e un serviciu care găzduiește repository-uri Git online și adaugă colaborare: pull request-uri, review, CI. Git ≠ GitHub.

Conceptele de bază

Termen Ce este
repository (repo) proiectul + tot istoricul lui (folderul ascuns .git)
commit o „fotografie” a proiectului la un moment dat, cu un mesaj
branch o linie de dezvoltare independentă (lecția următoare)
remote copia repo-ului de pe server (origin)
HEAD unde te afli acum în istoric

Cele 3 zone

Git are trei „locuri” prin care trece o modificare:

working directoryfișierele talegit add→staging areace intră în commitgit commit→repositoryistoricul

Staging area (index) te lasă să alegi exact ce intră în commit — poți modifica 5 fișiere și să faci două commit-uri separate, logice.

Comenzile de zi cu zi

Comandă Ce face
git status ce s-a schimbat și ce e în staging — rulează-l des
git diff modificările care nu sunt încă în staging
git add <fișier> / git add -p pune în staging (tot fișierul / bucată cu bucată)
git commit -m "mesaj" creează commit-ul
git log --oneline istoricul, compact
git pull aduce și integrează modificările de pe remote
git push trimite commit-urile tale pe remote
git restore <fișier> aruncă modificările necommit-uite dintr-un fișier
git stash / git stash pop pune deoparte modificările temporar

Un commit bun

  • Mic și logic — o singură schimbare (un bug, un feature mic). Ușor de citit în review, ușor de anulat.
  • Mesaj care spune de ce, nu doar ce: „fix: păstrează coșul după login” > „update”.
  • Codul merge după fiecare commit (build-ul nu e stricat).

.gitignore

Fișierul .gitignore spune ce nu intră niciodată în Git:

node_modules/        # dependențele — se reinstalează din package-lock
.next/               # build-ul
.env*                # SECRETE — niciodată în Git
*.log
.DS_Store

Dacă ai pus din greșeală un secret într-un commit și ai făcut push, consideră-l compromis: îl schimbi (rotești cheia), nu doar îl ștergi din cod.

Anularea greșelilor — tipuri și când

Situație Comandă
modificări necommit-uite într-un fișier git restore fișier
ai pus ceva în staging din greșeală git restore --staged fișier
ultimul commit are mesaj greșit / ai uitat un fișier (încă nu ai făcut push) git commit --amend
anulezi un commit deja publicat git revert <hash> — creează un commit nou, care face inversul
„am stricat tot local” git reflog — istoricul tuturor pozițiilor HEAD, de unde poți recupera aproape orice

Regula de aur: nu rescrie istoria publicată (amend, rebase, reset pe commit-uri deja împinse pe un branch comun).

Pe scurt

  • Git = istoric de versiuni; GitHub = găzduire + colaborare.
  • working directory → add → staging → commit → istoric.
  • Commit-uri mici, logice, cu mesaje clare; secretele în .gitignore.

Surse oficiale

Exerciții

Ți-a fost utilă pagina?

Un click — fără cont.