web-dev-qa-db-fra.com

Requête Git vs. Requête

Je suis nouveau sur Git, donc je m'excuse si c'est trivial. J'ai un dépôt privé mis en place en utilisant Github et EGit .

Pour mettre à jour et fusionner ma branche de référentiel local avec la version distante (essentiellement un git pull), j'utilise Team > Pull dans Eclipse.

Pour fusionner une branche dans la branche principale, je dois demander et ensuite approuver une demande de requête sur Github.

Quelle est la différence entre appeler git pull et envoyer un demande d'extraction

J'ai vu que cela est lié à un modèle de développement collaboratif Fork and Pull et est utilisé pour les revues code. Je pense comprendre la motivation et l'utilité d'une demande d'extraction, mais en quoi consiste-t-elle exactement?

36
Jonn

Si vous utilisez git pull, vous extrayez les modifications du référentiel distant dans le vôtre.

Si vous envoyez une requête pull à un autre référentiel, vous demandez à leurs responsables d'extraire vos modifications dans les leurs (vous demandez plus ou moins à them d'utiliser un git pull depuis votre référentiel).

Si vous êtes le responsable de ce référentiel, il semble que vous compliquez un peu la tâche en prétendant jouer deux rôles dans ce flux de travail. Vous pouvez également fusionner localement votre branche de développement dans votre branche principale et pousser directement cette branche principale dans votre référentiel GitHub.

(Remarque: si vous êtes nouveau dans Git, je suggérerais d'utiliser git fetch, puis git merge au lieu de git pull. git pull est effectivement git fetch suivi de git merge, mais leur utilisation séparée vous permet de mieux contrôler les conflits potentiels.)

46
Bruno

Un requête d'extraction demande au responsable d'un référentiel de modifier git pull dans certaines modifications (comme son nom l'indique déjà). GitHub fournit une interface supplémentaire facile à utiliser qui simplifie la révision d'une telle requête.
Vous ne devez pas l’utiliser pour fusionner une branche. Mais vous l'utilisez pouvez et il peut être utile de vérifier à nouveau si toutes les modifications sont prêtes à être fusionnées. Si vous ne voulez pas ou n'avez pas besoin de cette sécurité supplémentaire, vous pouvez simplement git merge de la branche.


git a également une commande qui crée une demande d'extraction, conçue pour être utilisée dans les listes de diffusion. Vous pouvez demander la génération avec la commande git request-pull. En fait, il est nécessaire de transmettre une demande d'extraction pour certains projets utilisant cette commande! Le résultat de la commande ressemble à ceci (pris depuis la page d'accueil officielle de git ):

$ git request-pull Origin/master myfork
The following changes since commit 1edee6b1d61823a2de3b09c160d7080b8d1b3a40:
  John Smith (1):
        added a new function

are available in the git repository at:

  git://githost/simplegit.git featureA

Jessica Smith (2):
      add limit to log function
      change log output to 30 from 25

 lib/simplegit.rb |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)
5
TimWolla

Git Pull

Repo distant ======> repo local

git pull = Git Fetch + Git Merge

Demande de traction

C'est une chose de Github.

Repo Github à distance <======== Extraire la demande de ===== votre repo Github

Que le mainteneur du dépôt à distance github accepte votre demande d’alimentation ou non, c’est à elle.

0
Asif