Aller au contenu
Développement medium
🔐 Alerte sécurité — Incident supply chain Trivy : lire mon analyse de l'attaque

Investiguer et nettoyer l'historique Git

3 min de lecture

Git ne jette presque rien. Les commits que vous croyez perdus sont accessibles via git reflog pendant 90 jours. Les fichiers sensibles accidentellement commités peuvent être expurgés de tout l’historique. Les bugs apparus subitement peuvent être localisés au commit près en quelques minutes.

Ces trois situations semblent graves — elles sont toutes récupérables avec la bonne commande.

SituationOutilGuide
J’ai supprimé une branche par erreurgit reflogRécupérer des données perdues
J’ai fait reset --hard et perdu des commitsgit reflogRécupérer des données perdues
J’ai commité un fichier sensible (pas encore pushé)git reset HEAD~1 + .gitignoreNettoyer l’historique et les fichiers
J’ai commité et pushé un secretgit filter-repo + révoquer le secretNettoyer l’historique et les fichiers
Un bug est apparu, je ne sais pas depuis quel commitgit bisectDiagnostiquer des problèmes
Je veux identifier qui a introduit une ligne de codegit blameDiagnostiquer des problèmes
  • git reflog est le filet de sécurité ultime — consultez-le avant toute tentative de récupération
  • git bisect localise un commit coupable en O(log n) — 10 commits à tester sur 1 000 si le test est automatisé
  • git filter-repo (pas filter-branch) est l’outil recommandé pour réécrire l’historique globalement
  • Après un filter-repo pushé, tous les membres de l’équipe doivent refaire un git clone — prévenir avant
  • Un fichier dans .gitignore n’est pas retiré de l’historique existant — il faut git rm --cached en plus

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracing. Aujourd'hui, ce site ne couvre même pas mes frais d'hébergement, d'électricité, de matériel, de logiciels, mais surtout de cafés.

Un soutien régulier, même symbolique, m'aide à garder ces ressources gratuites et à continuer de produire des guides de qualité. Merci pour votre appui.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn