Geavanceerd Git
Amanda Crawford-Adamo
Software and Data Engineer
.git/logs/refs/heads/
| Functie | Git Reflog | Git Log |
|---|---|---|
| Doel | Toont referentie-updates en herschrijvingen in lokale repo | Toont alleen commitgeschiedenis |
| Scope | Alleen lokale repository | Lokale en remote repositories |
| Inhoud | Alle ref-updates (commits, resets, merges, enz.) | Alleen commits |
| Houdbaarheid | Tijdelijk (meestal 90 dagen) | Permanent (onderdeel van de historie) |
| Use case | Verloren commits herstellen, recente acties begrijpen | Projecthistorie bekijken, feature-ontwikkeling begrijpen |
git reflog
git reflog show
git reflog expire

| Component | Beschrijving |
|---|---|
| short-hash | Afgekorte commit-hash |
| ref | Meestal HEAD, maar kan ook branchnamen zijn |
| index | Positie in de reflog (0 is meest recent) |
| action | Type actie (commit, reset, merge, enz.) |
| descriptions | Beschrijving van de actie |
since = toon items vanaf dit tijdstip
git reflog --since "time-qualifer"
until = toon items tot dit tijdstip
git reflog --until "time-qualifer"
git reflog --since="1 week ago"
git reflog --until="yesterday"
git reflog --until="2024-01-01"
etl-feature aangemaaktHoe herstellen we de branch etl-feature?
git reflog
git checkout <hash>
git checkout -b <branch-name>
| Reset-type | Commando | Effect op werkmap | Effect op staging |
|---|---|---|---|
| Soft | git reset --soft <commit> |
Geen wijzigingen | Wijzigingen blijven staged |
| Mixed (standaard) | git reset --mixed <commit> |
Geen wijzigingen | Wijzigingen worden unstaged |
| Hard | git reset --hard <commit> |
Wijzigingen verworpen | Wijzigingen verworpen |
Hoe keren we terug naar de vorige ETL-scriptwijzigingen?
git reflog
git reset --soft HEAD@{1}
Reflog is onze lokale tijdmachine bij fouten

Geavanceerd Git