Que sont les requêtes d'extraction Git et comment sont-elles utilisées?

Contenu

Logo Git

Les demandes de tirage sont une fonctionnalité des services git en ligne comme Github et Gitlab. Ils permettent à quiconque de demander l'ajout de modifications, même s'ils n'ont pas accès au référentiel. Nous analyserons leur fonctionnement et comment les utiliser pour une collaboration open source.

À quoi sert une demande de tirage?

Malgré ce que cela peut paraître, git en tant qu'outil, c'est un système entièrement décentralisé. Cela signifie que le référentiel sur Github.com et le référentiel sur votre machine locale ne sont pas différents l'un de l'autre. vous ne vous connectez pas pour Github pour travailler sur un référentiel, tu copie le code de Github dans votre référentiel local et y travailler.

Quand vous voulez pousser des changements, peut s'engager et exécuter git push, enviando sus actualizaciones a un “à distance” dado, qui peut être n'importe quel autre référentiel Git, mais en général c'est un service hébergé en ligne comme Github, Bitbucket ou Gitlab. Cela met à jour le référentiel distant afin qu'il soit synchronisé avec votre référentiel.

Malgré cela, cela ne fonctionne que lorsque vous avez la permission d'envoyer des confirmations, généralement configuré avec un mot de passe ou une clé SSH. Ceci n'est donné qu'aux membres de l'organisation qui contrôlent le référentiel; cas contraire, tout le monde pourrait modifier l'histoire de git. Si vous n'êtes pas membre de l'organisation, Que devez-vous faire lorsque vous souhaitez apporter des modifications?

Bon, existe-t-il une deuxième façon de mettre à jour un référentiel git:git pull. Vous le faites probablement souvent chaque fois que vos collègues font des changements insistants.. Dans ce cas, vous téléchargez des commits depuis un référentiel distant et les synchronisez avec votre référentiel local.

Mais, Git est décentralisé, il n'y a donc vraiment aucune différence entre votre référentiel et le référentiel distant. Tu peux vraiment courir git pull a l'inverse, du serveur, et c'est le cœur de ce qui fait fonctionner les demandes de tirage.

Une pull request est juste pour vous de dire au serveur distant (et les personnes qui l'entretiennent) que vous avez des commits mis à jour que vous voudriez qu'ils examinent et intègrent au référentiel distant. S'ils acceptent les changements, le référentiel distant s'exécutera git pull par rapport à votre référentiel local, intégrer le code sans avoir à avoir une clé SSH autorisée pour le faire.

L'épine dorsale de la collaboration open source

Les demandes d'extraction sont constamment utilisées pour les bibliothèques open source. Après tout, Une grande partie de la raison de l'open source est que tout développeur peut contribuer au projet si son code est utile.

Les demandes de tirage sont ce qui fait que cela fonctionne. Les personnes en charge de la maintenance du projet, les administrateurs qui le contrôlent, ce sont eux qui examinent régulièrement les pull request et décident d'intégrer ou non le code, ou si certaines erreurs doivent être corrigées avant qu'il ne soit prêt.

Les demandes de tirage ne sont pas exactement une caractéristique de git en soi, leur mise en œuvre exacte variera donc en fonction du service. Mais, pour Github, vous trouverez des demandes de tirage dans la barre de menu d'un référentiel, qui affiche une liste de demandes ouvertes et fermées que vous pouvez filtrer par.

Si vous cliquez sur l'un d'eux, vous pouvez voir les commentaires faits par le demandeur, ainsi que les confirmations qui y sont associées.

Si vous êtes responsable de la maintenance du référentiel, vous pouvez examiner et fusionner la demande. O, si tu as des problèmes avec lui tu dois en discuter, vous pouvez laisser un commentaire et travailler ensemble sur le code. C'est l'une des principales raisons pour lesquelles les espaces publics comme Github sont parfaits pour la collaboration open source., Même quelque chose d'aussi simple que de changer le libellé de la documentation peut être fait en collaboration par n'importe qui.

Les demandes de tirage sont différentes des problèmes. Le suivi des problèmes est une fonctionnalité de nombreux services comme Github qui permet des corrections de bogues faciles et une collaboration publique pour les nouvelles fonctionnalités. Essentiellement, chaque sujet a un sujet dont les responsables et la communauté peuvent discuter. Par exemple, dotnet/csharplang est le référentiel officiel pour discuter de la conception du C # comme langage de programmation. Si vous allez sur les sujets, vous trouverez de nombreuses personnes discutant des concepts pour les futures itérations de la langue:

Tous les problèmes ne conduisent pas à des demandes de tirage. Si le responsable de la maintenance résout le problème, ça n'aura pas d'importance. Si un collaborateur résout le problème, vous devrez soumettre une demande de tirage.

Toutes les demandes d'extraction sont rejetées ou conduisent directement à des modifications de code dans le référentiel. Les problèmes ne sont qu'un moyen de suivre la progression du développement et les bogues à corriger.

Faire des demandes de tirage

De nouveau, les étapes exactes pour cela varient en fonction du service que vous utilisez, mais la plupart des collaborations open source se déroulent sur Github, nous allons donc montrer les étapes pour cela.

Dirígete al repositorio para el que deseas realizar una solicitud y haz un clic enNueva solicitud de extracciónen la pestaña Solicitudes de extracción:

Vous avez deux options ici. Si vous êtes membre du référentiel et que vous souhaitez fusionner votre branche de fonctionnalités dans la branche principale, vous pouvez choisir les deux branches.

Si vous travaillez sur un référentiel open source, vous devrez forker le référentiel et le soumettre à Github avec votre propre compte. Après, Tu peux choisir “comparar entre bifurcacionespara fusionar su rama maestra en su rama maestra.

Une fois cela fait, la demande de tirage sera ouverte à la discussion, et vous devrez simplement attendre d'avoir des nouvelles des mainteneurs.

Pendant, puede verificar el estado de todas las solicitudes de extracción en las que está involucrado con la pestañaSolicitudes de extracciónen la barra de encabezado principal.

Abonnez-vous à notre newsletter

Nous ne vous enverrons pas de courrier SPAM. Nous le détestons autant que vous.