Git avansat
Amanda Crawford-Adamo
Software and Data Engineer
.git/logs/refs/heads/
| Caracteristică | Git Reflog | Git Log |
|---|---|---|
| Scop | Afișează actualizările și rescrierile referințelor în repo local | Afișează doar istoricul commit-urilor |
| Domeniu | Doar repository local | Repository local și remote |
| Conținut | Toate actualizările de referințe (commit-uri, reset-uri, merge-uri etc.) | Doar commit-uri |
| Persistență | Temporar (de obicei 90 de zile) | Permanent (parte din istoricul repository-ului) |
| Utilizare | Recuperarea commit-urilor pierdute, înțelegerea acțiunilor recente | Vizualizarea istoricului proiectului, înțelegerea dezvoltării funcționalităților |
git reflog
git reflog show
git reflog expire

| Componentă | Descriere |
|---|---|
| short-hash | Hash prescurtat al commit-ului |
| ref | De obicei HEAD, dar poate fi și numele unui branch |
| index | Poziția în reflog (0 este cea mai recentă) |
| action | Tipul acțiunii (commit, reset, merge etc.) |
| descriptions | Descriere a acțiunii |
since = afișează intrările începând cu acest moment
git reflog --since "time-qualifer"
until = afișează intrările până la acest moment
git reflog --until "time-qualifer"
git reflog --since="1 week ago"
git reflog --until="yesterday"
git reflog --until="2024-01-01"
etl-featureCum restaurăm branch-ul etl-feature?
git reflog
git checkout <hash>
git checkout -b <branch-name>
| Tip reset | Comandă | Efect asupra directorului de lucru | Efect asupra staging |
|---|---|---|---|
| Soft | git reset --soft <commit> |
Nicio modificare | Modificările rămân în staging |
| Mixed (implicit) | git reset --mixed <commit> |
Nicio modificare | Modificările sunt scoase din staging |
| Hard | git reset --hard <commit> |
Modificările sunt eliminate | Modificările sunt eliminate |
Cum revenim la versiunea anterioară a scriptului ETL?
git reflog
git reset --soft HEAD@{1}
Reflog este mașina noastră locală a timpului atunci când facem greșeli

Git avansat