Tutoriel Git - Rebase

Jinku Hu 15 février 2024
  1. Qu’est-ce que git rebase ?
  2. Flux de travail de la base
  3. Règle d’or du rebasage
Tutoriel Git - Rebase

Nous avons couvert les fusions de base comme

  • Fusion en avance rapide

  • Fusion à trois voies (récursive)

Dans ce tutoriel, nous allons présenter l’une des plus importantes caractéristiques de Git - le rebasage.

Qu’est-ce que git rebase ?

Rebaser signifie que vous changez le commit racine des branches basées sur, ou en d’autres termes, vous réinitialisez le commit de base au commit récent de la branche que vous envisagez de fusionner, comme la branche master.

Voyons à quoi cela ressemble,

Branche Git Feature

Nous avons les branches master et Feature dans ce diagramme et pendant que nous travaillions sur notre branche Feature, d’autres membres de l’équipe ont continué à faire du travail sur master.

Nous voulons rebaser notre branche avant de la fusionner à nouveau dans master et quand nous lançons la commande rebase, cela change le commit sur lequel notre branche testing est basée au lieu de pointer vers C3 plutôt que C1. Le graphique ci-dessous montre ce qui se passe après le rebasage.

Branche de fonctionnalité Git

Lorsque nous fusionnons les changements, il suffit de refaire une fusion rapide car les commits sont maintenant basés sur le dernier commit de master. C’est pourquoi le rebasage est l’une des fonctionnalités les plus puissantes de git.

Après avoir fusionné cette branche Feature rebasée vers le master, le graphique du journal de commit sera comme ci-dessous,

Git log graph après rebasage

Il semble que la branche Feature n’ait jamais existé et que tous les journaux de commit soient en ligne droite.

Flux de travail de la base

  • Créer la branche de fonctionnalité
   $ git checkout -b Feature
  • Faites des changements sur cette branche et commentez
   $ git add modified.txt
   $ git commit -m 'coment here'
  • La fonctionnalité de rebasage se branche sur master.
   $ git rebase master
  • Fusionner la branche de fonctionnalité rebasée sur master
   $ git checkout master
   $ git merge Feature

Règle d’or du rebasage

La règle d’or est de ne jamais rebaser une branche que vous avez rendue publique à cause de la réécriture de l’histoire.

Si vous rebasez une branche publique et que quelqu’un travaille sur cette branche après que vous l’ayez rebasée, il sera très difficile d’obtenir ces nouveaux changements dans votre branche master parce que les autres développeurs travaillent toujours avec la branche master originale.

Auteur: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook