Cum să vezi diferențele cu git diff — Ghid complet
In this tutorial, you'll learn about Cum să vezi diferențele cu git diff. We cover key concepts, practical examples, and best practices.
În acest ghid vei învăța cum să folosești git diff pentru a vizualiza modificările din repository, inclusiv --staged, --cached și compararea între branch-uri.
The Problem
Nu poți vedea exact ce s-a schimbat înainte de a face commit sau push. git diff îți arată linie cu linie modificările, ajutându-te să eviți commit-uri incomplete sau greșite.
The Wrong Way
# Faci commit orb, fără să verifici ce s-a schimbat
git add .
git commit -m "fix: diverse"
# Surpriză: ai inclus fișiere greșite
Fără git diff, riști să incluzi în commit fișiere temporare, token-uri sau cod netestat.
The Right Way
# Modificări necommitate (working directory)
git diff
# Modificări din staging
git diff --staged
# Ultimul commit
git diff HEAD~1 HEAD
# Între două branch-uri
git diff main..feature
Step-by-Step Fix
1. Modificări necommitate (working tree)
Arată diferențele dintre working directory și staging:
git diff
Output:
diff --git a/index.html b/index.html
index a1b2c3d..d4e5f6g 100644
--- a/index.html
+++ b/index.html
@@ -10,6 +10,7 @@
+ <nav>Navigare noua</nav>
2. Modificări din staging (--staged)
Arată ce urmează să fie committat:
git diff --staged
--staged și --cached sunt sinonime.
3. Compară commit-uri
# Între două commit-uri specifice
git diff a1b2c3d..d4e5f6g
# Compară cu commit-ul anterior
git diff HEAD~1 HEAD
4. Compară branch-uri
# Diferențele dintre main și feature
git diff main..feature
# Ce are main dar nu are feature
git diff main...feature
5. Diferențe doar pentru un fișier
git diff -- index.html
git diff main..feature -- src/
6. Statistică sumară
git diff --stat
Output:
index.html | 15 ++++++++++++---
style.css | 5 +++++
2 files changed, 17 insertions(+), 3 deletions(-)
Prevention Tips
- Folosește
git diffînainte degit addpentru a verifica modificările - Folosește
git diff --stagedînainte degit commitpentru verificare finală - Compară cu branch-ul principal înainte de pull request
- Folosește
--statpentru o vedere de ansamblu rapidă - Configurează un diff tool:
git config --global diff.tool vscode
Common Mistakes
- Confuzia între --staged și --cached — sunt sinonime, ambele arată staging area
- Omisiunea lui
..la compararea branch-urilor —git diff main featurevsgit diff main..feature - Interpretarea greșită a semnelor +/- —
+înseamnă linii adăugate,-înseamnă linii șterse - Diff pe fișiere binare — Git nu poate face diff util pe imagini sau binare
Aceste greșeli apar frecvent în lucrul cu Git. Contribuitorii DodaTech le-au identificat prin analiza proiectelor open-source și a sistemelor de producție.
Practice Exercise
Exercițiu: Modifică un fișier, adaugă-l în staging, apoi mai modifică-l. Folosește git diff și git diff --staged pentru a vedea diferențele dintre cele două stări.
FAQ
Construit de dezvoltatorii Doda Browser, DodaZIP și Durga Antivirus Pro. Uneltele DodaTech se integrează perfect cu Git pentru productivitate și securitate sporite.
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro