web-dev-qa-db-fra.com

Pouvez-vous émettre des demandes d'extraction à partir de la ligne de commande sur GitHub?

Il semble que vous deviez interagir avec github.com pour lancer une demande d'extraction. Est-ce vrai?

270
Andrew Johnson

UPDATE: La commande hub est maintenant un projet github officiel et prend également en charge la création de demandes d'extraction =

ORIGINAL:

Cela semble être une chose particulièrement utile à ajouter à la commande hub: http://github.com/defunkt/hub ou le github gem: http://github.com/defunkt/ github-gem

Je suggère de déposer un problème avec ces projets qui le demandent. Les gars de github sont plutôt réactifs.

103
kanaka

Git est maintenant livré avec une sous-commande 'git request-pull' [-p] <start> <url> [<end>]

Vous pouvez voir la documentation ici

Vous trouverez peut-être cela utile mais ce n'est pas exactement la même chose que la fonctionnalité de GitHub .

47
Zensaburou

Avec le wrapper de ligne de commande Hub , vous pouvez le lier à git puis vous pouvez faire git pull-request

De la page de manuel de hub:

   git pull-request [-f] [TITLE|-i ISSUE|ISSUE-URL] [-b BASE] [-h HEAD]
          Opens a pull request on GitHub for the project that the "Origin" remote points to. The default head of the pull request is the current branch. Both base and head of the pull request can be explicitly given in one  of  the  following  formats:  "branch",  "owner:branch",
          "owner/repo:branch". This command will abort operation if it detects that the current topic branch has local commits that are not yet pushed to its upstream branch on the remote. To skip this check, use -f.

          If TITLE is omitted, a text editor will open in which title and body of the pull request can be entered in the same manner as git commit message.

          If instead of normal TITLE an issue number is given with -i, the pull request will be attached to an existing GitHub issue. Alternatively, instead of title you can paste a full URL to an issue on GitHub.
27
Flov

Un homme cherche comme ...

man git | grep pull | grep request

donne

git request-pull <start> <url> [<end>]

Mais malgré le nom, ce n'est pas ce que vous voulez. Selon les docs:

Générez une demande demandant à votre projet en amont d'extraire les modifications dans leur arborescence. La demande, imprimée sur la sortie standard, commence par la description de la branche, récapitule les modifications et indique d'où elles peuvent être extraites.

@ HolgerJust a mentionné le joyau github qui fait ce que vous voulez:

Sudo gem install gh 
gh pull-request [user] [branch]

D'autres ont mentionné le paquet officiel hub de github:

Sudo apt-get install hub

ou

brew install hub 

ensuite

hub pull-request [-focp] [-b <BASE>] [-h <HEAD>]
16
hobs

J'ai fini par créer moi-même , je trouve que cela fonctionne mieux avec les autres solutions existantes.

https://npmjs.org/package/pullr

5
samccone

J'ai récemment créé un outil qui fait exactement ce que vous voulez:

https://github.com/jd/git-pull-request

Il automatise tout en une seule commande, en forçant le repo, en poussant le PR, etc. Il prend également en charge la mise à jour du PR si vous devez le modifier/le corriger!

4
jd_

J'ai déjà utilisé cet outil auparavant - bien qu'il semble nécessaire de commencer par régler un problème, il est extrêmement utile et rationalise réellement le flux de travail si vous utilisez le suivi des problèmes de github. git open-pull, puis une demande d'extraction est soumise à partir de la branche dans laquelle vous êtes ou que vous sélectionnez. https://github.com/jehiah/git-open-pull

EDIT: On dirait que vous pouvez créer des problèmes à la volée, alors cet outil est une bonne solution.

0
Andruf