GitHubのコマンドラインからプルリクエストを発行できますか?


298

プルリクエストを開始するには、github.comとやり取りする必要があるようです。これはそうですか?


2
私はプル要求を行うための彼らのAPIには何も表示されません。develop.github.com
アダム・バンデンバーグ


1
これを実行する予定のオペレーティングシステムは何ですか?
IgorGanapolsky

Windows 8または10でこれを行う方法
Mathivanan KP 2016

誰か興味があれば、私はこのためのbashスクリプトを作成しました。
mvr

回答:


114

更新hubコマンドは公式のgithubプロジェクトになり、プルリクエストの作成もサポートしています

オリジナル

ハブコマンドに追加すると特に便利なようです:http : //github.com/defunkt/hubまたはgithub gem:http : //github.com/defunkt/github-gem

私はそれを求めるそれらのプロジェクトに問題を提出することを提案します。githubの連中はかなり反応が速い。


8
github-gemには、年齢のプルリクエストを作成する機能が含まれていました:gh pull-request [user] [branch]
Holger

6
Githubが最初にリポジトリをフォークしなくても、つまりソースリポジトリの直接クローンから機能しますか?
Hari Karam Singh 2013

1
@Holger Justと他の誰でも:これは、pullリクエストのテキストを作成するだけで、Githubでのフォークの必要性を回避しません。私はそれを回避する方法をまだ見つけていません。以下に掲載する「pullr」ユーティリティをすぐに試すつもりです。github-gemからの完全なプルリクエストサポートをリクエストする人々の問題については、こちらをご覧ください。
mateor 2013

1
高速コマンドの使用hubhub pull-request -m "message pull request" -b master -h your_branch
グジャラートサンタナ

上記のドキュメントに記載されていない理由はわかりませんが、プルリクエストのマージをすばやく行うには、マスターブランチをチェックアウトしてくださいhub merge https://github.com/repo/pull/1
holmberd

53

Gitにはサブコマンドが付属しています 'git request-pull' [-p] <start> <url> [<end>]

あなたはここでドキュメントを見ることができます

これは便利かもしれませんが、GitHubの機能とまったく同じではありません


7
@NathanBasaneseプルリクエストを説明する人間が読めるテキストを生成します。gitのドキュメントのGitHubこれは、プロジェクトのメンテナに、共有レポへの書き込み権限を持つ誰かが(おそらくgithubの)電子メールへの本と言います。メンテナーは、(githubのオンラインプルリクエストプロセスを使用するのではなく)送信したプルリクエストテキストを確認します。彼らはgit pullプルリクエストで示されたURLとブランチを実行して、変更をローカルクローンにマージし、これらの変更をgithubにプッシュできます。
ホブ

30

ではハブのコマンドラインラッパーはgitにリンクすることができますし、あなたが行うことができます git pull-request

ハブのmanページから:

   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.

2
Hubについては知りませんでした。Homebrewから入手できます。brew install hubこれは、Macユーザーにとっては正しい答えのようです。
wfbarksdale

1
//、Hubについての詳細情報を人々に教えてくれるオンラインはどこにありますか?
Nathan Basanese、2015

19

次のような男の検索...

man git | grep pull | grep request

与える

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

しかし、名前にもかかわらず、それはあなたが望むものではありません。ドキュメントによると:

上流のプロジェクトに変更をツリーにプルするよう要求するリクエストを生成します。標準出力に出力される要求は、ブランチの説明から始まり、変更を要約し、どこからプルできるかを示します。

@HolgerJustはあなたが望むことをするgithub gemに言及しました:

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

他のものはhubgithubによる公式パッケージについて言及しています:

sudo apt-get install hub

または

brew install hub 

その後

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

3
これにより、保留中の変更の概要が生成されます
。Github

1
@Flov「これ」によって、私はあなたがgit request-pullラインを意味すると思います。ええ、それは理にかなっていますが、私はgitがgithubのようにプル要求を電子メールで送信するコマンドを持っていないことに驚いています。結局のところ、それgit config user.emailを利用できます。特にというコマンドではpull-request
ホブ

2
Ubuntuのgithub-cli場合、Preciseの後には使用できなくなったように見えます...私は別の質問をしました
IsaacS 2014

7

私は自分作ることにしましたが、周りにあった他のソリューションがうまく機能することがわかりました。

https://npmjs.org/package/pullr


6
クローンされたリポジトリ内でpullr -nを実行してみました。Windows 7で... / clonedRepo / undefined / .pullr-token-cacheを開くときにエラーが発生しました。使用例など、さらに多くのドキュメントが必要になる場合があります。
BT 2013年

5

私は最近あなたが望むことを正確に行うツールを作成しました:

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

1つのコマンドですべてを自動化し、レポのフォーク、PRのプッシュなどを行います。編集/修正が必要な場合は、PRの更新もサポートします。


5

プルリクエストを作成するために単純なエイリアスを使用していますが、

alias pr='open -n -a "Google Chrome" --args "https://github.com/user/repo/compare/pre-master...nawarkhede:$(git_current_branch)\?expand\=1"'

2

他にgithub/hubGitリポジトリへのプロキシとして動作し、今(2020年2月)持っていますcli/cli

コマンドラインエクスペリエンスを大幅に強化:GitHub CLIがベータ版になりました」をご覧ください

プルリクエストを作成する

ブランチを作成し、いくつかのコミットを行って問題に記述されているバグを修正し、ghを使用してプルリクエストを作成して貢献を共有します。

cli / cli pr creation-https://i1.wp.com/user-images.githubusercontent.com/10404068/74261506-35df4080-4cb0-11ea-9285-c41583009e6c.png?ssl=1

GitHub CLIを使用してプルリクエストを作成することで、まだフォークがない場合は自動的にフォークを作成し、ブランチをプッシュしてプルリクエストを作成して変更をマージします。


そして2020年4月:「GitHub CLIが自動入力プルリクエストとカスタム構成をサポートするようになりました

GitHub CLI 0.7は、ベータユーザーが提供したフィードバックから最も要望の多かった拡張機能のいくつかを備えています。
前回のマイナーリリース0.6以降、3つの主な機能があります。

  • 構成、設定 ghお好みのエディターを使用するようにしますgh config set editor [editor]
  • 構成、設定 ghデフォルトでSSHにしますgh config set git_protocol ssh
    デフォルトのGitプロトコルはHTTPSです。
  • コミットからのプルリクエストのタイトルと本文を自動入力 gh pr create --fill

そう:

gh pr create --fill

1

以前にこのツールを使用したことがあります。最初に問題を開く必要があるようですが、githubの問題追跡を使用すると、非常に便利でワークフローが合理化されます。git open-pullを実行すると、現在選択しているブランチからプルリクエストが送信されます。 https://github.com/jehiah/git-open-pull

編集:その場で問題を作成できるように見えるため、このツールは優れたソリューションです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.