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?
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.)
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(-)
Repo distant ======> repo local
git pull = Git Fetch + Git Merge
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.