Git Pull vs. Pull Request

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

mise à jour et de fusion ma branche de dépôt locale avec la version distante (essentiellement un git pull), j'utilise Team > Pull dans Eclipse.

fusionner branche en la branche principale, je dois demander et par la suite approuver un Pull Request sur Github.

Quelle est la différence entre appeler git pull et l'envoi d'un pull request?

j'ai vu que c'est lié à un fourche et tire modèle de développement collaboratif et est utilisé pour code les commentaires. Je pense que je comprends la motivation et l'utilité d'une demande pull, mais qu'est-ce que c'est exactement?

36
demandé sur Jonn 2014-03-23 04:14:32
la source

2 ответов

Si vous utilisez git pull, vous récupérez les modifications du dépôt distant dans le vôtre.

Si vous envoyez un pull request vers un autre dépôt, vous demandez à leurs responsables de tirer vos modifications dans le leur (vous demandez plus ou moins pour un git pull de votre dépôt).

si vous êtes le responsable de ce dépôt, il semble que vous le rendez un peu plus difficile en prétendant jouer deux rôles dans ce flux de travail. Vous pourriez aussi bien fusionner localement votre branche de développement dans votre branche principale et pousser cette branche principale dans votre dépôt GitHub directement.

(comme note, si vous êtes nouveau à Git, je suggère d'utiliser git fetch et git merge au lieu de git pull. git pull effectivement git fetch suivi de git merge, mais les faire séparément vous donne un meilleur contrôle sur les conflits potentiels.)

43
répondu Bruno 2014-03-23 04:19:56
la source

pull request demande au responsable d'un dépôt de git pull quelques changements (comme le nom l'indique). GitHub offre une interface facile à utiliser qui simplifie l'examen d'une telle demande.

Vous n'avez pas besoin pour l'utiliser pour fusionner dans une des branches. Mais vous utilisez - le et il peut être utile de vérifier à nouveau si tous les changements sont prêts à être fusionnés. Si vous ne voulez pas ou besoin de cette sécurité supplémentaire, vous pouvez simplement git merge la branche.


git lui-même a aussi une commande qui crée une requête pull, conçue pour l'utilisation dans les listes de diffusion. Vous pouvez demander la génération avec le git request-pull la commande. En fait, il est nécessaire de présenter une demande de pull pour certains projets utilisant cette commande! La sortie de la commande ressemble à ceci (pris depuis le git officiel page d'accueil):

$ 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(-)
4
répondu TimWolla 2014-03-23 04:23:06
la source

Autres questions sur git github git-pull