Je ne suis pas sûr, mais j'ai un vague souvenir d'avoir créé une requête pull github avec "Issue 4" ou quelque chose dans le titre, et il s'est automatiquement attaché à Issue 4 dans le projet auquel je le soumettais. Je l'ai réessayé récemment et cela n'a pas fonctionné - cela a juste créé un tout nouveau problème à la place. Je ne vois aucune option comme «Attacher au problème» sur la nouvelle page de demande d'extraction, ni «Ouvrir une nouvelle demande d'extraction pour ce problème» sur la page du problème. Existe-t-il un moyen de le faire, pour aider les propriétaires de projets à garder leur page Problèmes propre et à éviter les doublons?
Edit : Pour clarifier, je sais que la création d'une demande de pull crée toujours un nouveau problème. Je voudrais plutôt attacher la demande d'extraction à un problème existant .
la source
Réponses:
Le projet "hub" peut faire ceci:
https://github.com/defunkt/hub
Dans le référentiel et la branche à partir desquels vous souhaitez envoyer une demande d'extraction:
Cela utilise l'API GitHub et attache une demande d'extraction pour la branche actuelle au problème numéro 4 existant.
EDIT: Commentaire de @atomicules: Pour développer la réponse de @MichaelMior, un exemple complet est:
la source
brew install hub
à installer avec homebrewhub pull-request URL_TO_ISSUE
, alors cela a fonctionné pour moi. Je me demande si cela-i ISSUE_NUMBER
ne fonctionne que si le problème est dans le même référentiel (c'est-à-dire pas une fourchette)hub pull-request -b USERNAME_OF_UPSTREAM_OWNER:UPSTREAM_BRANCH -h YOUR_USERNAME:YOUR_BRANCH URL_TO_ISSUE
L'ajout d'une demande d'extraction à un problème en amont existant est facile en supposant que vous ayez bifurqué en utilisant les moyens github normaux .
Faites simplement référence au problème dans votre message de validation à l'aide de l'un des mots clés pris en charge :
Par exemple: "ce commit corrige # 116"
Le texte faisant référence au problème n'a pas besoin d'apparaître dans la ligne d'objet de votre commit.
Poussez votre commit sur votre dépôt github et la demande de pull sera automatiquement ajoutée au problème.
Remarque: Bien que cela ne soit pas obligatoire, il est fortement recommandé de valider tout ce qui fera partie d'une demande d'extraction dans une branche distincte spécifique à ce problème, car les validations futures sur cette branche seront ajoutées à la demande d'extraction (automatiquement par github ). Donc, si vous n'avez pas créé de branche distincte, que vous l'avez laissée sur master, puis que vous avez continué à développer, toutes vos validations non liées à master seront ajoutées à votre demande d'extraction.
la source
Vous pouvez créer une Pull Request à partir d'un problème existant avec l' API Pull Request :
Cela crée une demande d'extraction:
technoweenie
au projetfaraday
(https://api.github.com/repos/ technoweenie / faraday / pulls)synchrony
branche danssmparkes
'fork ("head": " smparkes : synchrony ")master
branche danstechnoweenie
's fork ("base": " master ")smparkes
(--user " smparkes ")la source
--user "smparkes:password"
d'--user "smparkes"
être invité à entrer votre mot de passe de manière interactive.Un autre outil possible est le site Web Issue2Pr qui transforme vos problèmes en demandes de tirage .
C'est très simple et efficace!
Ressources:
la source
Cette autre réponse explique comment utiliser cURL (
curl
) pour créer une demande d'extraction à partir d'un problème via l' API GitHub . Voici comment le faire en utilisant HTTPie (http
), qui produit une commande plus facile à lire et à éditer:Tapez ensuite votre mot de passe GitHub lorsque vous y êtes invité.
Exemple expliqué
Vous vous êtes connecté à GitHub avec le nom d'utilisateur smparkes et le mot de passe hunter2 . Vous avez vu le repo de technoweenie faraday , pensé à quelque chose qui devrait être changé, et avez fait un numéro sur ce repo pour cela, numéro 15 . Plus tard, vous constatez que personne d'autre n'a apporté la modification proposée et vous avez également le temps de le faire vous-même. Vous fourche faraday à votre propre compte , puis d' écrire vos modifications et les pousser à la fourche sous une branche nommée synchronie . Vous pensez que le technoweenie devrait apporter ces changements au maîtrebranche de son repo. Voici la commande que vous écririez pour convertir votre problème précédent en une demande d'extraction pour cette situation:
Maintenant, le numéro 15 est une demande de tirage.
la source
dans le cas où vous utilisez l'authentification à 2 facteurs avec github, vous devrez fournir l'authtoken comme en-tête dans la demande:
la source
Vous pouvez également utiliser Gub pour soumettre des demandes d'extraction pour votre problème.
Il vous aide également à utiliser un style approprié de demande de fork / pull.
Éditer: 05/10/2013
Pour que Gub soumette une pull-request pour le problème # 123, vous devez exécuter ce qui suit:
Cela va créer un nouveau numéro de branche-123. Une fois que vous avez fini de travailler sur le problème, exécutez:
Voila!
Remarque: je suis l'auteur de Gub gem.
la source
Au lieu de le faire côté client (avec
hub
, comme dans la réponse de Christian Oudard ), vous pouvez maintenant (février 2020) le faire côté serveur (github.com)Voir " Afficher et lier les problèmes et extraire les demandes de la barre latérale "
Documentation :
Et il existe une API de recherche avec cette fonctionnalité.
la source
En utilisant l' outil git-hub , vous pouvez le faire avec:
$> git hub pull attach 123
Cela convertirait le problème # 123 en demande de tirage # 123, maintenant ainsi toute la discussion sur le problème dans un seul endroit.
la source
Si vous avez activé 2FA, vous pouvez utiliser passer le jeton avec HTTPie:
Cela utilisera la branche
issue_2
pour convertir le problème # 2 en une demande de tirage.la source