Passer au contenu
GitTree
Fusionner et résoudre

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.

GratuitMis à jour

Fonctionne dans GitTree Gratuit : toutes les fonctionnalités Git locales, une fois connecté.

Sur cette page
  1. Avant de commencer
  2. Où le trouver
  3. Mesures
  4. Résultat attendu
  5. Lorsqu'une étape est en conflit
  6. Si quelque chose ne va pas
  7. Questions
  8. En rapport

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.
ActionmacOSWindows et Linux
Undo un rebase⌘ZCtrl+Z

Mesures

  1. Choisissez où rebaser

    Cliquez avec le bouton droit sur la branche sur laquelle vous souhaitez travailler, telle que develop, et choisissez Rebase … onto ….

    Le menu d'une branche dans GitTree avec les actions de fusion et de rebase numérotées
    1 fusionnez-le dans votre branche, 2 rebasez votre branche dessus.Interface GitTree avec un référentiel de démonstration.
  2. 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.

  3. 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.