Ce face git reflog
Comanda git reflog (reference log) este ‘plasa de siguranță’ a oricărui dezvoltator. În timp ce git log arată doar istoricul ramurii active, reflog ține minte fiecare acțiune locală: commit-uri, reset-uri, checkout-uri, rebase-uri și merge-uri din ultimele 90 de zile.
Dacă ai șters accidental o ramură sau ai rulat un git reset --hard greșit crezând că ai pierdut munca, git reflog îți va arăta hash-ul acelui commit, permițându-ți să îl recuperezi instantaneu prin git reset --hard HEAD@{număr} sau git branch recuperare HASH.
Opțiuni și argumente
| Opțiune / Parametru | Descriere |
|---|---|
(fără argumente) |
Afișează istoricul recent al pozițiilor indicatorului HEAD. |
show RAMURĂ |
Afișează istoricul mutărilor pentru o anumită ramură. |
expire |
Curăță intrările din reflog mai vechi decât o anumită perioadă (implicit 90 de zile). |
Exemple
Exemplul 1: Recuperarea unui commit ‘pierdut’ după un reset dur
Reflog găsește hash-ul commit-ului chiar dacă acesta nu mai apare în git log.
git reflog
Ieșire în terminal
4a1b2c3 (HEAD -> main) HEAD@{0}: reset: moving to HEAD~1
8f9e0d1 HEAD@{1}: commit: Adauga functia revolutionara
2b3c4d5 HEAD@{2}: commit: Structura de start
Greșeli frecvente
- Presupunerea că un commit este pierdut pentru totdeauna după o comandă greșită: în Git aproape nimic nu se șterge imediat. Înainte de a te panica, verifică întotdeauna
git reflog.