web-dev-qa-db-fra.com

Comment ouvrir plusieurs demandes d'extraction sur GitHub

Lorsque j'ouvre une demande d'extraction sur GitHub, toutes les commandes validées depuis ma dernière demande et toutes les nouvelles sont automatiquement ajoutées à cette demande. Je n'arrive pas à contrôler quels commits sont ajoutés et ceux qui ne le sont pas. Lorsque j'essaie d'ouvrir une autre demande d'extraction, le message d'erreur "Oups! Il y a déjà une demande d'extraction" s'affiche. Existe-t-il un moyen simple d’ouvrir plusieurs demandes d’extraction sans avoir à manipuler la ligne de commande?

126
torourke

Les demandes d'extraction sont basées sur une branche. Le seul moyen d'ouvrir une demande d'extraction pour plusieurs commits est de les isoler dans leur propre branche et d'ouvrir les demandes d'extraction à partir de là.

103
mipadi

Le moyen le plus simple que j'ai trouvé est de faire appel à la commande hub ( https://github.com/defunkt/hub ).

À partir de votre branche de sujet ("fonctionnalité" dans cet exemple) pour laquelle vous souhaitez créer une demande d'extraction, vous pouvez simplement exécuter:

git pull-request

(n'oubliez pas de pousser votre branche d'abord!)

Et il ouvrira une nouvelle demande d'extraction sur GitHub pour "YOUR_USER: feature".

Si vous avez déjà créé un problème sur GitHub, vous pouvez même joindre une demande d'extraction à ce problème existant (quelque chose que vous ne pouvez pas faire à partir de l'interface utilisateur Web):

$ git pull-request -i 123
[ attached pull request to issue #123 ]
11
Tyler Rick

Vous pouvez réellement faire cela sans créer une autre branche, mais cela prend un peu de temps.
Voici les étapes:

  1. Identifiez les deux plages de validation que vous souhaitez extraire. Voici ce que je vais utiliser pour un exemple:
    (autre/maître) A -> B -> C -> D -> E (vôtre/maître)
    Supposons que vous souhaitiez inclure B et C dans une requête et D & E dans une autre.
  2. Faites une demande de traction. Avez le côté gauche ("Base") être commettre A. Pour le côté droit ("tête"), tapez le numéro de validation de C.
  3. Écrivez la description de votre première demande.
  4. Faites une autre demande. Pour la base, tapez le numéro de commit de C, et pour la tête, mettez E (yours/master).
  5. Écrivez la description.

À mon avis, la demande d'extraction considère le commit C comme un point de branchement. Ou quelque chose.

2
Riking