hubコマンドは、MacやLinuxのターミナルからGitHubの操作をおこなうためのコマンドです。通常はブラウザを通しておこなっているような操作をCLIでおこなうことができます。
これがURLを渡すだけで、利用シーンがあるので、紹介します。
インストール
公式サイトを確認する限りgemでインストールするのは、動作が遅くなるので非推奨とのこと。よって、Mac環境はHomebrewかMacPortsで入れた方が良い。
gitコマンドのエイリアスとしてhubを設定してしまうことが推奨されてますが、あえて今回はしません。
MacPortsの場合
$ sudo port install hub
Homebrewの場合
$ brew install hub
動作確認
$ hub --version
git version 1.7.12.4
hub version 1.10.2
GitHubへの初回アクセス時に認証を求められます。 ~/.config/hub にOAuthのキーが作成されるため、以後はこれを利用して認証は求められなくなります。
リポジトリを作成
GitHub側で新たにリポジトリを作成する場合、結構ポチポチしないといけません。hubコマンドなら
$ hub create
とするだけで、カレントディレクトリの名前でGitHub側にリポジトリが作成されます。
※このディレクトリは既にGitで管理されている必要があります。
Pull Requestを送られたブランチをcheckout
Pull Requestを送られてきたのだけど、コメントをつけて訂正を指摘するより、エイッと自分で修正してしまいたいときがあるかもしれません。そんなときはPRのURLを引数につけましょう。
$ hub checkout https://github.com/defunkt/hub/pull/73
とPull RequestのURLをcheckoutに与えてやると、該当するブランチをcheckoutします。エイッと直してしまって、pushした方が指摘するよりわかりやすければ、こうするのもアリです。
Pull Requestをマージする
送られてきたPRをマージしたい場合(コンクリフトした場合など)にもURLを渡してしまいましょう。
$ hub merge https://github.com/defunkt/hub/pull/73
Pull Requestを送る
なんと、Pull Requestまで送ることができます。ブランチをPushしておいて、ブランチを指定するだけでエディタが立ち上がってきます。
$ hub pull-request -h
立ち上がってきたエディタには、通常のPull Requestで書く内容を書けばOK
リポジトリをブラウザで確認する
$ hub browse
これだけで、カレントディレクトリのGitHubをブラウザに表示します。念のために確認したいときなどに、どうぞ!
コマンドの補完
コマンドのオプションを補完するのにはこちらの設定ファイルを利用しましょう。
その他にも細かな操作ができるので、hubコマンドのサイトをチェックしてください。