Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Effectuer une Opération de Rebase | 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
Effectuer une Opération de Rebase

Rebaser les modifications sur la branche principale

Avant de pouvoir rebaser nos modifications, nous devons d'abord passer à la branche main et récupérer les dernières modifications :

Jetons maintenant un coup d'œil à l'arbre des commits :

À ce jour, les branches main et feature/payment ont des commits après l'ancêtre commun le plus récent. Cela indique qu'une fusion en avance rapide ne peut pas être effectuée.

Si nous devions fusionner ces branches, une fusion à trois voies se produirait. Cependant, nous voulons garder notre historique linéaire, alors effectuons un rebase de la branche feature/payment sur la branche main. Cela peut être fait en passant à la branche feature/payment et en exécutant la commande git rebase :

Fusion en avance rapide

Puisque le rebase est réussi, examinons à nouveau notre arbre de commits :

Comme prévu, l'historique des commits est maintenant linéaire avec le dernier commit sur la branche feature/payment. Maintenant, nous pouvons effectuer une simple fusion en avance rapide sur la branche main :

Vérifions que les deux branches pointent vers le même commit en regardant le dernier commit :

Suppression de la branche de fonctionnalité

La branche main contient maintenant le dernier commit avec le système de paiement implémenté, nous pouvons donc supprimer en toute sécurité la branche feature/payment locale et distante. La commande suivante supprime la branche distante :

Maintenant, nous pouvons supprimer la branche locale :

Enfin, toutes les modifications que nous avons apportées peuvent être poussées vers le dépôt distant :

Pour vérifier que la branche feature a été supprimée à la fois localement et à distance, vous pouvez exécuter la commande suivante, qui liste toutes (-a signifie toutes) les branches locales et distantes :

Comme vous pouvez le voir, la branche feature/payment a été supprimée avec succès, et il n'y a maintenant que deux branches : main et john/test avec leurs contreparties distantes.

Dans l'ensemble, le rebasage fonctionne bien pour les modifications locales qui n'ont pas encore été partagées, mais il peut causer des problèmes importants pour les modifications qui ont déjà été publiées dans un dépôt distant et éventuellement téléchargées par d'autres collaborateurs. Rebaser des commits que d'autres utilisent peut créer de la confusion et des conflits en raison de la réécriture de l'historique des commits.

En règle générale, évitez de rebaser des modifications qui ont été poussées vers des dépôts distants pour éviter ces problèmes.

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

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