À propos des demandes de tirage (pull requests)
Une demande de tirage est une demande de fusion d’une série de modifications d’une branche à une autre. Dans une demande de tirage, les collaborateurs peuvent examiner et discuter de l’ensemble proposé de modifications avant d’intégrer les modifications dans la base de code principale. Les demandes de tirage affichent les différences, ou diffs, entre le contenu de la branche source et le contenu de la branche cible.
Remarque : Lorsque vous utilisez des demandes de tirage, n’oubliez pas ce qui suit :
- Si vous travaillez dans le modèle de dépôt partagé, nous vous recommandons d’utiliser une branche de rubrique pour votre demande de tirage. Bien que vous puissiez envoyer des demandes de tirage à partir de n’importe quelle branche ou n’importe quel commit, avec une branche de rubrique, vous pouvez pousser (push) des commits de suivi si vous avez besoin de mettre à jour vos changements proposés.
- Faites preuve de prudence quand vous forcer la poussée (push) de commits vers une demande de tirage. Un forçage de poussée modifie l’historique du dépôt et peut endommager votre demande de tirage. Si d’autres collaborateurs créent une branche dans le projet avant un forçage de poussée, ce dernier risque de remplacer les commits sur lesquels ces collaborateurs ont basé leur travail.
Vous pouvez créer des demandes de tirage (pull request) sur GitHub.com, avec GitHub Desktop, sur GitHub Mobile et en utilisant l’interface CLI de GitHub.
Une fois que vous avez initialisé une demande de tirage, une page de révision s’affiche et présente un aperçu général des changements entre votre branche (la branche de comparaison) et la branche de base du dépôt. Vous pouvez ajouter un résumé des changements proposés, réviser les changements apportés par les commits, ajouter des étiquettes, des jalons et des personnes responsables, ainsi que mentionner (@mention) des contributeurs individuels ou des équipes. Pour plus d’informations, consultez « Création d’une demande de tirage ».
Une fois que vous avez créé une demande de tirage, vous pouvez pousser (push) des commits à partir de votre branche de rubrique pour les ajouter à votre demande de tirage existante. Ces commits apparaissent dans l’ordre chronologique au sein de votre demande de tirage et les changements sont visibles sous l’onglet « Fichiers modifiés ».
D’autres contributeurs peuvent passer en revue vos changements proposés, ajouter des commentaires de révision, participer à la discussion sur la demande de tirage et même ajouter des commits à cette dernière.
Une fois que les changements proposés vous semblent satisfaisants, vous pouvez fusionner la demande de tirage. Si vous travaillez dans un modèle de dépôt partagé, vous créez une demande de tirage et c’est vous-même ou quelqu’un d’autre qui fusionnez vos changements depuis votre branche de fonctionnalité dans la branche de base que vous spécifiez dans votre demande de tirage. Pour plus d’informations, consultez « Fusion d’une demande de tirage ».
Si des vérifications d’état sont requises pour un référentiel, vous devez effectuer celles-ci avant de pouvoir fusionner votre branche dans la branche protégée. Pour plus d’informations, consultez « À propos des branches protégées ».
Vous pouvez lier une demande de tirage à un problème pour montrer qu’un correctif est en cours et fermer automatiquement le problème lorsque quelqu’un fusionne la demande de tirage. Pour plus d’informations, consultez « Relier une demande de tirage à un problème ».
Conseils :
- Pour basculer entre la vue réduite et la vue développée de tous les anciens commentaires de révision dans une demande de tirage, maintenez la touche OptionAltAlt enfoncée et cliquez sur Afficher les obsolètes ou Masquer les obsolètes. Pour plus de raccourcis, consultez « Raccourcis clavier ».
- Vous pouvez écraser des commits quand vous fusionnez une demande de tirage afin d’obtenir une vue plus rationalisée des changements. Pour plus d’informations, consultez « À propos des fusions de demande de tirage ».
Vous pouvez consulter votre tableau de bord pour trouver rapidement des liens vers les demandes de tirage récemment mises à jour sur lesquelles vous travaillez ou auxquelles vous êtes abonné. Pour plus d’informations, consultez « À propos de votre tableau de bord personnel ».
Brouillon des demandes de tirage (pull request)
Les brouillons de demandes de tirage sont disponibles dans des référentiels publics avec GitHub Free pour les organisations et les plans de facturation par référentiels hérités, ainsi que dans des référentiels publics et privés avec GitHub Team, GitHub Enterprise Server et GitHub Enterprise Cloud.
Lorsque vous créez une demande de tirage, vous pouvez choisir d’en créer une prête pour la révision ou de créer un brouillon. Les brouillons de demande de tirage ne peuvent pas être fusionnés et les propriétaires de code ne sont pas automatiquement invités à les réviser. Pour plus d’informations sur la création d’un brouillon de demande de tirage, consultez « Création d’une demande de tirage » et « Création d’une demande de tirage à partir d’une duplication ».
Quand vous êtes prêt à recevoir des commentaires sur votre demande de tirage, vous pouvez marquer votre brouillon de demande de tirage comme étant prêt pour la révision. Le marquage d’une demande de tirage comme étant prête pour la révision demande des révisions à tous les propriétaires de code. Vous pouvez convertir une demande de tirage en brouillon à tout moment. Pour plus d’informations, consultez « Modification de la phase d’une demande de tirage ».
Différences entre les commits dans les pages de comparaison et de demande de tirage
Les pages de comparaison et de demande de tirage utilisent différentes méthodes pour calculer les différences des fichiers modifiés :
- Les pages de comparaison indiquent la différence entre le conseil de la référence principale et l’ancêtre commun actuel (c’est-à-dire la base de fusion) de la référence principale et de base.
- Les pages de demande de tirage indiquent la différence entre le conseil de la référence principale et l’ancêtre commun de la référence principale et de base au moment où la demande de tirage a été créée. Ainsi, la base de fusion utilisée pour la comparaison risque d’être différente.
Pour aller plus loin
- « Glossaire GitHub » dans le glossaire de GitHub
- « À propos des branches »
- « Commentaires sur une demande de tirage »
- « Fermeture d’une demande de tirage »