Aller au contenu principal

La Pull Request

Notions théoriques

Git est un outil fantastique pour le travail en équipe. Il permet à plusieurs personnes de travailler simultanément sur un même projet sans se marcher sur les pieds. Pour cela, Git utilise une fonctionnalité appelée "Pull Request".

astuce

Une Pull Request (ou PR) est une proposition de modification sur un projet hébergé sur GitHub. C'est un moyen pour un contributeur de dire : "Hey, j'ai fait des modifications sur ce projet, pouvez-vous les examiner et les ajouter au projet principal ?".

Une Pull Request est une manière de soumettre vos modifications à l'avis des autres.

C'est un processus qui favorise la collaboration et garantit que vos modifications sont valides avant de les intégrer au projet.

Pour créer une Pull Request :

  • vous devez d'abord forker le dépôt, c'est-à-dire créer une copie personnelle du dépôt sur votre compte GitHub.
  • Ensuite, vous faites vos modifications sur votre copie,
  • et lorsque vous êtes prêt, vous pouvez demander à ce que vos modifications soient intégrées au dépôt original en créant une Pull Request.

Test de mémorisation/compréhension


Qu'est-ce qu'une Pull Request ?


Qu'est-ce que forker un dépôt ?


Quelle commande permet d'envoyer les modifications locales sur le serveur distant ?


Quelle commande permet de récupérer en local les modifications du serveur distant ?


Quelle commande permet de cloner un dépôt distant ?


TP "sans conflit"

Dans ce TP, vous allez forker le dépôt https://github.com/MonVoisinDeTable/tp_git sur GitHub, cloner ce dépôt sur votre machine locale, faire des modifications, les pousser sur votre dépôt distant et finalement créer une Pull Request.

  1. Rendez-vous sur le dépôt https://github.com/MonVoisinDeTable/tp_git.

  2. Cliquez sur le bouton "Fork" en haut à droite de la page.

  3. Une fois que vous avez forké le dépôt, clonez-le sur votre machine locale avec la commande git clone.

  4. Faites une modification dans le fichier styles.css, en changeant la couleur d'arrière-plan en jaune :

    body {
    background-color: yellow;
    }
  5. Ajoutez cette modification à l'index et commitez-la dans le dépôt avec la commande git commit.

  6. Envoyez vos modifications sur le serveur distant avec la commande git push.

  7. Sur GitHub, naviguez jusqu'à votre dépôt et cliquez sur "New pull request".

  8. Sélectionnez la branche contenant vos modifications, puis cliquez sur "Create pull request".

Une solution
Comment l'étudiant VoisinDeTable peut accepter le Pull Request
  1. Connectez-vous à votre compte GitHub et accédez au dépôt tp_git.

  2. Cliquez sur l'onglet "Pull requests" situé en haut de la page. Vous y verrez une liste de toutes les Pull Requests ouvertes pour ce dépôt.

  3. Cliquez sur la Pull Request que vous souhaitez examiner. Vous serez redirigé vers une page montrant les détails de la Pull Request, y compris le message de commit, les fichiers modifiés et les modifications spécifiques apportées à chaque fichier.

  4. Pour accepter la Pull Request, cliquez sur le bouton "Merge pull request". Cela fusionnera les modifications proposées dans la branche principale de votre dépôt.

  5. Vous pouvez également laisser un commentaire pour l'auteur de la Pull Request, par exemple pour le remercier ou pour lui donner un feedback sur ses modifications.

  6. Une fois que vous avez accepté la Pull Request, les modifications proposées seront intégrées à votre projet et la Pull Request sera fermée. Vous pouvez toujours la retrouver dans l'onglet "Closed" de la page "Pull requests".

remarque

Notez que vous pouvez :

  • refuser une Pull Request si vous pensez que les modifications proposées ne sont pas appropriées pour votre projet.

    Pour cela, il suffit de cliquer sur le bouton "Close pull request".

  • demander des modifications supplémentaires avant d'accepter la Pull Request, en laissant un commentaire pour l'auteur.

TP "avec conflit"

Dans ce TP, vous allez expérimenter une situation de conflit et apprendre comment le résoudre.

Pour ce faire, nous allons utiliser le même dépôt https://github.com/MonVoisinDeTable/tp_git sur GitHub.

Vous allez modifier le même fichier dans deux branches différentes, ce qui va générer un conflit lors de la fusion.

  1. Si ce n'est pas déjà fait, rendez-vous sur le dépôt https://github.com/MonVoisinDeTable/tp_git.

  2. Clonez ce dépôt sur votre machine locale avec la commande git clone.

  3. Créez une nouvelle branche avec la commande git checkout -b.

  4. Faites une modification dans le fichier styles.css, par exemple en changeant la couleur d'arrière-plan de votre site.

  5. Ajoutez cette modification à l'index et commitez-la dans le dépôt avec la commande git commit.

  6. Revenez à la branche principale avec la commande git checkout.

  7. Faites une autre modification dans le même fichier styles.css, mais cette fois en changeant la couleur du texte en rouge :

    body {
    color: red;
    }
  8. Ajoutez cette modification à l'index et commitez-la dans le dépôt avec la commande git commit.

  9. Essayez de fusionner votre nouvelle branche dans la branche principale avec la commande git merge. Vous devriez voir un message indiquant qu'il y a un conflit.

  10. Ouvrez le fichier styles.css et résolvez le conflit en choisissant quelles modifications garder.

  11. Une fois le conflit résolu, ajoutez le fichier à l'index et commitez le changement.

  12. Envoyez vos modifications sur le serveur distant avec la commande git push.

Une solution