TP : Rebase
Last updated
Was this helpful?
Last updated
Was this helpful?
Pour ce TP, vous aurez besoin de (ou d'un terminal Unix).
À la fin de la séance du 15/10/2020, merci de déposer un fichier .zip/.rar (ou équivalent) à , au format NOM_prenom_TP03.zip, contenant : - L'intégralité de votre dossier de travail (le dossier masqué .git doit être présent) - Un fichier (txt, pdf, docx, ...) contenant les commandes jouées lors de ce TP
Vous êtes libre d'ajouter à votre rapport les difficultés rencontrées.
Pour le nommage de vos commits, il conviendra d'appliquer la méthode de nommage de commit vue lors de la séance précédente.
Pour commencer tout doucement, on décide de merger la branche improve-doc
dans master
. Sachant que la branche master
n'a pas changé depuis la création de improve-doc
, choisissez la commande la plus simple Ă vos yeux. Expliquez votre choix.
Il est fort probable que tout se soit bien passé jusqu'ici ! Sinon, je vous invite à demander de l'aide.
On décide ensuite de merger la branche modification-textes
sur master
. On pourrait utiliser la commande merge
, mais on souhaite conserver l'historique le plus linéaire possible. Il s'agit donc de rebaser notre branche sur master
.
Donnez la ou les différentes commandes que vous utilisez. Le résultat devrait être sensiblement similaire à celui-ci :
En cas de problème, contactez-moi (moi === le mec qui vous parle depuis 2h) immédiatement. Vous pourriez être bloqués pour la suite du TP.
Utilisez la commande adéquate pour vérifier la linéarité de votre branche master
. Vous pouvez constaté que le commit parent de votre branche est désormais celui intitulé "docs(): add working instructions".
Vous pouvez désormais rapatrier les modifications de la branche courante dans master
.
Placez-vous sur la dernière branche à merger : ajout-styles
, et rebasez-lĂ sur la branche master
. Constatez puis expliquez le résultat suivant :
Résolvez le problème, en respectant le contenu d'origine du commit en cours d'application :
Conservez le nouveau titre de la page
Conservez le nouveau texte du paragraphe
Veillez Ă ce que le texte puisse s'afficher en bleu
Le fichier css doit bien ĂŞtre inclu dans la page html
Validez puis passez Ă la suite. Lorsqu'un autre conflit survit, veillez Ă :
Conservez le nouveau texte du paragraphe
Veillez à ce que le texte puisse s'afficher en bleu et que la classe text soit bien appliquée
Validez et passez à la suite. Un nouveau conflit se produit, lors de l'application du commit "feat(index): rename page title". Cette fois, on constate que le conflit se produit sur le titre de la page html. Or, celui-ci a déjà été modifié sur une autre branche, et ce commit n'a plus de raison d'être. Ne l'appliquez pas et terminer le rebase.
Enfin, mergez la branche ajout-styles
dans master
.
Vérifiez les points suivant :
Le fichier index.html correspond bien Ă :
La commande git log --graph --oneline
donne le résultat (les hashs seront différents) :
Clonez Ă nouveau le projet, dans un nouveau dossier
Mergez la branche improve-doc
dans master
.
Placez-vous sur la branche modification-textes
, puis utilisez le mode interactif pour rebaser cette branche sur master
. Inversez l'ordre des commits (indiquez précisément ce que vous avez fait pour Enfin, mergez dans master
.
Utilisez le rebase interactif pour rebaser ajout-styles
sur master
. L'objectif sera de ne pas appliquer le commit "feat(index): rename page title" provenant de cette branche, et de fusionner les deux commits "feat(index): add some colors" et "feat(index): add text class to uniformize text displaying".
Enfin, mergez le tout dans master
.
La commande git log --graph --oneline
donne le résultat suivant :
Dans votre rapport, ajoutez les réponses aux questions suivantes :
Donnez les principaux cas d'utilisation du mode interactif ?rebase -i
Dans quel cas ne devriez-vous pas utiliser la commande rebase ?
Que pensez-vous de l'utilisation du mode interactif de rebase ?