Un historique Git clair se lit comme un récit : une suite de commits cohérents, chacun racontant une étape. git rebase –interactive est l’outil qui permet de nettoyer ce récit avant de le partager.

Réécrire pour clarifier

Lancé avec git rebase -i HEAD~5, le rebase interactif ouvre la liste des derniers commits et propose une action sur chacun.

  • reword — corriger un message de commit.
  • squash / fixup — fusionner plusieurs commits en un seul.
  • edit — s’arrêter pour modifier un commit.
  • drop — supprimer un commit.

Le cas typique

Sur une branche de fonctionnalité, on accumule des commits « wip », « fix typo », « oups ». Avant d’ouvrir une pull request, un fixup les regroupe en un commit propre. Le relecteur voit une intention claire, pas vos hésitations.

La règle d’or

On ne réécrit que ce qui n’a pas été partagé. La devise : rebase en local, merge en public. En cas de doute, git reflog permet de revenir en arrière — rien n’est vraiment perdu.

À retenir

Le rebase interactif n’est pas dangereux, il est discipliné. Utilisé sur vos branches locales avant partage, il rend chaque historique lisible et chaque revue plus rapide.

A lire également :  Git worktrees : plusieurs branches sans stash