Ce face git bisect
Comanda git bisect este cel mai ingenios instrument de depanare din Git. Dacă aplicația funcționa perfect acum o lună (commit bun), dar astăzi eșuează (commit rău) și există sute de commit-uri la mijloc, git bisect împarte istoricul la jumătate prin căutare binară.
La fiecare pas te plasează pe un commit intermediar; tu testezi aplicația și marchezi commit-ul ca good sau bad. În doar 7-8 pași poți identifica cu certitudine matematică commit-ul exact care a stricat funcționalitatea.
Opțiuni și argumente
| Opțiune / Parametru | Descriere |
|---|---|
start |
Pornește sesiunea de căutare binară. |
bad [commit] |
Marchează un commit ca fiind defect (implicit commit-ul curent). |
good [commit] |
Marchează un commit istoric ca fiind funcțional. |
reset |
Încheie sesiunea de bisect și readuce depozitul pe ramura inițială. |
run SCRIPT |
Automatizare completă: rulează un script de test la fiecare pas fără nicio intervenție manuală. |
Exemple
Exemplul 1: Pornirea unei investigații bisect
Definim punctul bun și cel rău, iar Git calculează pașii rămași.
git bisect start
git bisect bad
git bisect good v1.0.0
Ieșire în terminal
Bisecting: 60 revisions left to test after this (roughly 6 steps)
[4a1b2c3d] Actualizeaza motorul de procesare date
Greșeli frecvente
- Uitarea rulării comenzii
git bisect resetla finalizarea investigației (lasă depozitul într-o stare temporară detașată).
Comenzi înrudite
git log: Afișează istoricul cronologic al commit-urilor, cu autor, dată, hash și mesaj.git blame: Afișează autorul, data și hash-ul commit-ului care a modificat ultima dată fiecare rând dintr-un fișier.git checkout: Comandă multifuncțională clasică pentru comutarea ramurilor sau restaurarea fișierelor din istoric.