てくてくテック☆

千里の道も一歩から。テック(Tech)の道をてくてく歩く。

コマンドラインから GitHub のプルリクエストをする方法

add や push なんかはコマンドラインでできるのに、プルリクしたいと思ったら、 わざわざ GitHub のサイト開かなきゃいけないなんてめんどくさい!

そう思ったので、何か方法はないか探してみたら、hub コマンドっていう便利なものがありました!
使い方もめちゃ簡単!(詳細は以下を参照)

1. hub のインストール

以下のコマンドを実行する。 (ダウンロードには少し時間がかかるかも。。)

$ brew install hub --HEAD

このとき、以下のようなエラーが出ることが。

$ brew install hub --HEAD
Error: You have not agreed to the Xcode license. Please resolve this by running: sudo xcodebuild -license accept

そのときは大人しく、指示どおりに以下のコマンドを実行すれば OK!

$ sudo xcodebuild -license accept

2. 設定ファイルの変更

.bash_profile に以下を追記します。

eval "$(hub alias -s)"

3. コマンドラインからのプルリク

途中まではいつもどおりの Git コマンドの操作で、push した後から hub コマンドの出番です。

$ git checkout -b hub-test
$ git add .
$ git commit -m "add hub-test.md"
$ git push origin hub-test
$ hub pull-request

たったこれだけ!
GitHub のサイトで確認すると、ちゃんとプルリクが作られてます!

ちなみに、プルリクするときに誰かにアサインしたい場合は以下のコマンドでいけます。

$ hub pull-request -a hoge

hoge のところに GitHub のアカウント名を指定する感じです。

すばらしい!!
めんどくささがだいぶ軽減されたし、プルリク忘れも減りそう。。嬉しすぎる!

参考

  • 本家(hub コマンド)のサイト github.com  

2017/10/27 追記:

hub pull-request で -a オプションを使うには 2.3.0-pre1 以上のバージョンが必要なので、--HEAD オプションなしに brew install すると、-a オプションが使えない可能性が。。!
(新しい PC をセットアップするときに、ハマりました。。orz)

念のため、インストール後はバージョン確認してみてくださいー

$ hub --version

あと、試してないですが、hub 2.3.0-pre10 から hub pull-request でレビュアがアサインができるようになったみたいです!

hub pull-request -r PERSON1,PERSON2