Mémo Git · Intégrer
Rebaser une branche
git rebase <branche>
git rebase <branche> rejoue tes commits un par un par-dessus une autre branche, comme si tu avais commencé ton travail à partir de son dernier commit. L'historique reste linéaire, mais tes commits sont recréés avec de nouveaux identifiants.
Ce que ça fait
Rejoue les commits de la branche courante par-dessus une autre, pour un historique linéaire.
Un cas d'usage
main a avancé pendant ton travail : tu remets ta branche à jour avant de la proposer.
Attention : Réécrit les commits de ta branche : si elle est déjà publiée, il faudra un push forcé.
En ligne de commande
git fetch && git rebase origin/main- Remet ta branche à jour par rapport à main.
git rebase --continue- Reprend après avoir résolu un conflit et indexé les fichiers.
git rebase --skip- Abandonne le commit en cours de rejeu.
git rebase --abort- Annule tout le rebase.
git push --force-with-lease- Republie la branche rebasée.
Dans Merathon
- Bascule sur ta branche de travail.
- Clic droit sur la branche cible → « Rebaser <branche courante> sur <branche> ».
- En cas de conflit, résous-le puis clique sur « Continuer » dans le bandeau du panneau de droite.
Questions fréquentes
Faut-il faire un merge ou un rebase ?
Rebase pour mettre à jour ta propre branche avant une pull request. Merge pour intégrer une branche terminée, ou dès que d'autres travaillent sur la même branche.
Pourquoi mon push est-il refusé après un rebase ?
Les commits ont été recréés : la branche distante n'est plus un ancêtre de la tienne. Il faut un push forcé, de préférence avec --force-with-lease.