Lien Recherche Menu En savoir plus Document

Faire une pull request

Lors de la partie précédente, nous avons vu comment fusionner des branches. Une pull request1 permet à quelqu’un de demander à ce qu’une branche soit fusionnée à une autre. Cette demande s’affichera alors sur la page Pull requests de ton dépôt sur GitHub, et elle pourra être ensuite acceptée ou refusée.

Illustration par Storyset.

Table des matières

  1. Les pull requests : pourquoi ?
  2. Créer une pull request
    1. Pour démarrer…
    2. Remplir les détails
  3. Relire une pull request
  4. Appliquer une pull request
  5. Notes de bas de page

Les pull requests : pourquoi ?

Cette fonctionnalité possède de nombreux avantages par rapport à une simple fusion :

  • En règle gĂ©nĂ©rale, tout le monde peut crĂ©er une pull request, mĂŞme les gens qui n’ont pas la permission de modifier le dĂ©pĂ´t.
Note

La plupart des logiciels dits open source sont développés de cette manière : tout le monde peut voir le code source, mais seul un petit nombre de personnes de confiance peut modifier le dépôt lui-même. Par contre, il est possible de proposer des modifications en créant une pull request qui pourra être acceptée par l’équipe du projet. Cela permet d’accepter des contributions des quatre coins du monde, en évitant les problèmes qui pourraient apparaître si n’importe qui pouvait modifier le dépôt quand bon lui semble.

  • Chaque pull request a un espace de discussion pour pouvoir parler de leur avancement. On peut demander Ă  quelqu’un de relire notre pull request, qui pourra alors proposer des modifications ou donner son approbation.
  • Ce système offre une meilleure traçabilitĂ© des modifications effectuĂ©es sur le projet et de leur cheminement. Pour cette raison, il peut ĂŞtre utile d’utiliser les pull requests mĂŞme sur des projets en solo.

Créer une pull request

Pour démarrer…

Tu peux débuter une pull request de ces deux manières :

  • Depuis GitHub Desktop
    Si tu es en train de travailler avec GitHub Desktop, et que la branche que tu veux fusionner a bien entendu déjà été publiée sur GitHub, alors il te suffit de cliquer sur le bouton Create Pull Request qui s’affiche sur l’écran principal2. Interface pour créer une pull request depuis GitHub Desktop
  • Depuis GitHub.com
    Rends-toi sur la page de ton projet, puis dans l’onglet Pull requests, et clique sur le bouton New pull request. Sélectionne ensuite les deux branches concernées : la branche de base est celle qui va être modifiée (la plupart du temps, ce sera ta branche principale) ; l’autre branche est celle d’où proviennent les modifications. Clique ensuite sur Create pull request. Sélection des branches d’une pull request
Astuce

Lorsque tu publies une nouvelle branche sur le dépôt distant, GitHub affiche un haut de la page du dépôt un lien direct vers la création d’une nouvelle pull request pour cette branche.

Capture d’écran de GitHub

Remplir les détails

Ensuite, tu peux remplir les détails de la pull request que tu es en train de créer. Le plus important est de mettre un titre qui décrit brièvement les changements, et éventuellement une description qui peut contenir plus de détails.

Dans la colonne de droite, en-dessous de Reviewers, tu peux demander à quelqu’un (par exemple ton binôme) de relire ta pull request.

Une fois que tout est prĂŞt, clique sur Create pull request.

Cération d’une pull request

Relire une pull request

OK, maintenant changeons de rôle : on va entrer dans la peau de la personne qui relit la pull request.

Astuce

Pour la plupart des pull requests modifiant du code, tu auras besoin d’importer le code modifié dans ton éditeur de code local pour tester les changements.

Heureusement, GitHub Desktop a un onglet Pull Requests dans le sélecteur de branches, qui te permet de sélectionner la pull request comme branche active.

Cela fonctionne même si la branche est sur un fork du dépôt !

Onglet “Pull Requests” du sélecteur de branches

Lorsque tu te rends dans l’onglet Files changed sur la page de la pull request, tu vois la liste des modifications qui ont été apportées.

Affichage des modifications apportées par une pull request sur GitHub

Si tu aimerais apporter une suggestion à un endroit du code, tu peux cliquer sur le bouton « + » qui apparaît lorsque tu survoles une ligne de code. Écris ensuite ton commentaire, puis clique ensuite sur le bouton Start review (ou Add review comment) pour l’ajouter à tes retours.

Ajout d’un commentaire

Conseil de pro

Lorsque tu rédiges un commentaire, tu peux appuyer sur le bouton Insert a suggestion pour proposer une modification spécifique du code. La modification proposée s’affichera clairement, et il sera même possible de l’appliquer en un clic sur le bouton Commit suggestion !

Fonctionnement du bouton Insert a suggestion

Appliquer une pull request

Quand la pull request est prête, un encadré situé en bas de l’onglet Conversation te permet d’effectuer le transfert des modifications entre les branches.

Clique sur le bouton vert (par défaut Merge pull request), puis sur le bouton de confirmation. Et voilà, la pull request a été appliquée !

Encadré de fusion

Modes de fusion

Le mode de fusion sélectionné par défaut est Create a merge commit, mais tu peux choisir parmi les trois options suivantes en cliquant sur le bouton « ▼ » à droite du bouton vert :

  • Create a merge commit : crĂ©e un commit de fusion (comme nous l’avons fait dans la partie prĂ©cĂ©dente).
  • Squash and merge : crĂ©e un commit sur la branche de base contenant toutes les modifications.
  • Rebase and merge : rĂ©applique les commits sur la branche de base, comme s’ils y avaient Ă©tĂ© effectuĂ©s.
Modes de fusion

Notes de bas de page

  1. Pour information, la même fonctionnalité est appelée merge request sur GitLab. 

  2. Au cas oĂą tu aurais des modifications qui n’ont pas encore Ă©tĂ© commit dans ton projet, tu peux retrouver le mĂŞme bouton dans le menu Branch de GitHub Desktop.Â