Git avancé
Amanda Crawford-Adamo
Software and Data Engineer
.git/logs/refs/heads/
| Fonction | Git Reflog | Git Log |
|---|---|---|
| But | Affiche les mises à jour et réécritures de références dans le dépôt local | Affiche uniquement l'historique des validations |
| Portée | Dépôt local seulement | Dépôts local et distant |
| Contenu | Toutes les mises à jour de ref (commits, resets, merges, etc.) | Uniquement les commits |
| Persistance | Temporaire (en général 90 jours) | Permanente (fait partie de l'historique) |
| Cas d'usage | Récupérer des commits perdus, comprendre les actions récentes | Voir l'historique du projet, suivre le développement des fonctionnalités |
git reflog
git reflog show
git reflog expire

| Composant | Description |
|---|---|
| short-hash | Hachage abrégé du commit |
| ref | Habituellement HEAD, peut être un nom de branche |
| index | Position dans le reflog (0 = le plus récent) |
| action | Type d'action (commit, reset, merge, etc.) |
| descriptions | Description de l'action |
since = afficher les entrées à partir de ce moment
git reflog --since "time-qualifer"
until = afficher les entrées jusqu'à ce moment
git reflog --until "time-qualifer"
git reflog --since="1 week ago"
git reflog --until="yesterday"
git reflog --until="2024-01-01"
etl-featureComment restaurer la branche etl-feature ?
git reflog
git checkout <hash>
git checkout -b <branch-name>
| Type de reset | Commande | Effet sur le répertoire de travail | Effet sur l'index |
|---|---|---|---|
| Soft | git reset --soft <commit> |
Aucun changement | Les changements restent indexés |
| Mixed (par défaut) | git reset --mixed <commit> |
Aucun changement | Les changements sont désindexés |
| Hard | git reset --hard <commit> |
Changements abandonnés | Changements abandonnés |
Comment revenir aux précédents changements du script ETL ?
git reflog
git reset --soft HEAD@{1}
Reflog est notre machine à remonter le temps locale quand on se trompe

Git avancé