Rebaser une branche
Le rebasage rejoue les commits de votre branche au-dessus d'une autre branche, de sorte que l'historique reste une ligne droite, comme git rebase. Les commits obtiennent de nouveaux identifiants ; GitTree conserve l'ancienne branche sous refs/ogt/trash et Undo la ramène.
Fonctionne dans GitTree Gratuit : toutes les fonctionnalités Git locales, une fois connecté.
Sur cette page
Avant de commencer
- Recherchez la branche que vous souhaitez déplacer, par exemple
feature/search. - Préférez les branches sur lesquelles vous travaillez uniquement : rebaser les réécritures des commits que d'autres peuvent déjà avoir.
Où le trouver
- Cliquez avec le bouton droit sur l'étiquette de la branche sur laquelle rebaser : Rebase … onto ….
- Cliquez avec le bouton droit sur n'importe quel commit : Rebase … onto ce commit.
- Faites glisser l'étiquette de votre branche sur l'autre branche, puis choisissez le rebase.
| Action | macOS | Windows et Linux |
|---|---|---|
| Undo un rebase | ⌘Z | Ctrl+Z |
Mesures
Vérifiez les options
La confirmation indique que chaque commit est relu avec un nouvel identifiant et que l'ancienne branche est conservée. Sous Options for this rebase, vous pouvez stocker les modifications locales et les remettre en place, ainsi que déplacer les branches qui pointent vers ces commits.
Rebase
Appuyez sur Rebase …. Une bannière affiche Rebasing … onto …, step … of … pendant son exécution.
Résultat attendu
Votre branche part de la pointe de l'autre branche, elle s'engage en ligne droite au-dessus d'elle. Poussez-le avec une poussée forcée avec bail s'il était déjà sur la télécommande.
Lorsqu'une étape est en conflit
- Resolve ouvre les fichiers en conflit ; une fois réglés, Continue passe à l'étape suivante.
- Skip abandonne le commit en conflit et continue.
- Abort… s'arrête et remet la branche exactement telle qu'elle était.
Si quelque chose ne va pas
Le rebase ne peut pas démarrer en raison de changements locaux
Activez le stockage des modifications locales dans les options de rebase, ou validez-les ou cachez-les d'abord (stashes).
Le push est refusé après le rebase
La télécommande a toujours les anciens commits. Utilisez Force Push (With Lease)… ; il refuse si quelqu'un d'autre a poussé entre-temps (fetch, pull and push).
Questions
Comment puis-je écraser ou réorganiser les commits lors du rebasage ?
Utilisez un rebase interactif : vous choisissez pour chaque commit si vous souhaitez le sélectionner, le reformuler, le modifier, l'écraser, le réparer ou le déposer, et le faire glisser pour le réorganiser.
