web-dev-qa-db-fra.com

Demande d'extraction vs demande de fusion

Quelle est la différence entre une demande d'extraction et une demande de fusion?.

Dans Github, il s'agit d'une demande d'extraction et dans GitLab, par exemple, d'une demande de fusion ... Existe-t-il une différence entre les deux?

364
Pacane

La fonctionnalité "demande de fusion" de GitLab est équivalente à la fonctionnalité "demande d'extraction" de GitHub. Tous deux permettent d'extraire les modifications d'une autre branche ou branche dans votre branche et de les fusionner avec votre code existant. Ce sont des outils utiles pour la révision du code et la gestion du changement.

Un article de GitLab _ décrit les différences de nommage de la fonctionnalité:

Les demandes de fusion ou d'extraction sont créées dans une application de gestion git et demandent à une personne affectée de fusionner deux branches. Des outils tels que GitHub et Bitbucket choisissent la demande d'extraction de nom, car la première action manuelle consiste à extraire la branche. Des outils tels que GitLab et Gitorious choisissent la demande de fusion de noms puisqu'il s'agit de l'action finale demandée par le cessionnaire. Dans cet article, nous les désignerons comme des demandes de fusion.

Une "demande de fusion" ne doit pas être confondue avec la commande git merge . Il ne faut pas non plus confondre une "demande d'extraction" avec la commande git pull . Les deux commandes git sont utilisées dans les coulisses à la fois dans les demandes d'extraction et les demandes de fusion, mais une demande de fusion/extraction fait référence à un sujet beaucoup plus vaste que ces deux commandes seulement.

624
gilly3

Ils sont la même caractéristique

Les demandes de fusion ou d'extraction sont créées dans une application de gestion git et demandent à une personne affectée de fusionner deux branches. Des outils tels que GitHub et Bitbucket choisissent la demande d'extraction de nom car la première action manuelle consiste à extraire la branche. Des outils tels que GitLab et Gitorious choisissent la demande de fusion de noms car il s'agit de l'action finale demandée par le cessionnaire. Dans cet article, nous les désignerons comme des demandes de fusion.

- https://about.gitlab.com/2014/09/29/gitlab-flow/

48
rneves

De mon point de vue, ils signifient la même activité mais sous des perspectives différentes:

Pensez-y, Alice fait des commits sur le référentiel A, qui a été créé à partir du référentiel B de Bob.

Quand Alice veut "fusionner" ses modifications dans B, elle veut réellement que Bob "tire" ces modifications de A.

Par conséquent, du point de vue d'Alice, il s'agit d'une "demande de fusion", tandis que Bob la considère comme une "demande d'extraction".

4
K. Symbol

GitLab 12.1 (juillet 2019) introduit une différence:

" demandes de fusion pour des problèmes confidentiels "

Lors des discussions, de la planification et de la résolution de problèmes confidentiels, tels que des vulnérabilités de sécurité, l'efficacité des projets open source peut s'avérer particulièrement ardue, car le référentiel Git est public.

https://about.gitlab.com/images/12_1/mr-confidential.png

À partir de la version 12.1, il est désormais possible de résoudre les problèmes confidentiels d'un projet public dans un flux de travail rationalisé à l'aide du bouton Créer une demande de fusion confidentielle, ce qui vous aide à créer une demande de fusion dans un fork privé du projet.

Voir " Problèmes confidentiels " dans numéro 5858 .

Une fonctionnalité similaire existe dans GitHub, mais implique la création d'un fork privé spécial, appelé "avis de sécurité du responsable".

2
VonC