Par Anonyme (non vérifié) , 29 avril 2026

Pourquoi rebase

Rebase réécrit votre branche pour qu'elle semble commencer depuis le tip d'une autre branche, rejouant vos commits un par un.

Le rebase de base

git checkout feature/login
git fetch origin
git rebase origin/main
git status
git add <file>
git rebase --continue

Rebase interactif

git rebase -i HEAD~5
pick 1a2b3c4 Add login form
pick 5d6e7f8 Fix typo
pick 9a0b1c2 Refactor auth helper
pick 3d4e5f6 Add tests
pick 7a8b9c0 Address review feedback

Changez pick en :

  • reword - garder le commit, éditer le message.
  • edit - pause pour amender.
  • squash - combiner avec le précédent et fusionner les messages.
  • fixup - combiner, jeter le message.
  • drop - supprimer le commit.
  • Réordonner les lignes pour réordonner les commits.

La Règle d'Or

Ne rebase jamais des commits qui ont été poussés et consommés par d'autres.

Workflow autosquash

git commit --fixup <sha>
git rebase -i --autosquash main

Rerere pour les conflits répétés

git config --global rerere.enabled true