Aller au contenu
English
English
Développement medium

Réécriture et correction de l'historique Git

10 min de lecture

Réécrire l'historique Git, c'est possible, à condition de savoir exactement ce que vous touchez. Ces 3 guides couvrent les modifications d'historique les plus courantes : nettoyer des commits avant de pusher, comprendre ce que fait réellement reset, et gérer des merges complexes.

La règle d'or reste constante : réécrire est sûr sur ce qui n'est pas encore partagé. Dès qu'un commit est pushé et que d'autres l'ont récupéré, la réécriture engendre des conflits pour toute l'équipe.

BesoinOutilGuide
Fusionner plusieurs commits en un seulgit rebase -i → squash / fixupRéécrire l'historique
Reformuler le message d'un commit passégit rebase -i → rewordRéécrire l'historique
Supprimer un fichier sensible de tout l'historiquegit filter-repoRéécrire l'historique
Comprendre ce que fait reset --hardLes 3 arbres GitReset démystifié
Annuler un merge ratégit merge --abortMerge avancé
Éviter de re-résoudre le même conflitgit rerereMerge avancé
  • git rebase -i HEAD~N ouvre un éditeur pour réordonner, fusionner ou supprimer les N derniers commits, uniquement sur des commits locaux
  • git reset --soft HEAD~1 annule le dernier commit mais garde les modifications stagées, pratique pour re-structurer
  • git reset --hard HEAD~1 annule le commit ET les modifications, récupérable via git reflog pendant 30 jours, le commit écarté n'étant plus accessible depuis aucune référence
  • git rerere mémorise les conflits résolus et les applique automatiquement lors des prochains merges identiques
  • git filter-repo (et non git filter-branch) est l'outil recommandé pour réécrire tout l'historique
  • Reset démystifié : Le modèle mental qui rend prévisible chaque mode de reset.
  • Merge avancé : Les stratégies de fusion et rerere, précieux quand un rebase rejoue les mêmes conflits.
  • Rechercher dans Git : La vérification qu'une chaîne a bien disparu de tous les commits réécrits.

Ce site vous est utile ?

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

Je maintiens ce site gratuitement, sans publicité, sans profilage et sans compte à créer. Un soutien, même symbolique, m'aide à couvrir l'hébergement et à garder ces ressources gratuites. Merci pour votre appui.

Le formulaire ne s'affiche pas ? Ouvrir Ko-fi dans un onglet.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn