Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Notions de Base sur le Rebasage | Flux de Travail Plus Avancés
Fondamentaux de GitHub
course content

Contenu du cours

Fondamentaux de GitHub

Fondamentaux de GitHub

1. Introduction à GitHub
2. Interaction de Base avec les Dépôts Distants
3. Flux de Travail Plus Avancés

book
Notions de Base sur le Rebasage

Faire un Commit sur la Branche principale

Commençons par faire un commit directement dans la branche main distante en modifiant le fichier README.md dans le dépôt distant. Cela entraînera une divergence de l'historique des commits entre la branche main et la branche feature/payment.

Voici la ligne ajoutée au fichier :

Voici le message de commit correspondant :

Comprendre le Rebasage

Comme nous l'avons mentionné dans le chapitre précédent, une fois que la branche feature est revue et testée, elle peut et doit être fusionnée dans la branche main. Jusqu'à présent, nous avons seulement utilisé la commande git merge à cette fin. Cependant, une autre approche consiste à utiliser la commande git rebase.

Lorsque nous créons une branche, Git suit le dernier commit sur les deux branches. Si une seule branche a de nouveaux changements, Git peut avancer rapidement et appliquer les changements. Cependant, si les deux branches ont de nouveaux changements, Git crée un nouveau commit de fusion, ce qui entraîne une fusion à trois voies.

Voici à quoi ressemblerait une fusion à trois voies dans notre cas, où C4 était le dernier commit sur la branche feature/payment avant la fusion :

Cependant, les fusions à trois voies peuvent compliquer le débogage en raison de l'historique fractionné et non linéaire. En rebasant, nous changeons la base de nos commits et les rejouons sur la nouvelle base, permettant à Git d'effectuer une fusion rapide et de maintenir un historique linéaire.

Voici une animation pour illustrer comment le rebasage peut être effectué dans notre cas (les identifiants de commit ne correspondent pas aux réels ici) :

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 4
We're sorry to hear that something went wrong. What happened?
some-alt