
github用CLI – hub – version 2.11.2を試してみた
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
はじめに
githubは操作がブラウザ上で完結できます。ただ、terminal上からより利便性高く行いたいと思うこともあり、例えばgit clone等にはghqを利用される方も多いと思います。
clone以外の操作をなんとかできないものかと調べていたところ、Developers.IOに以下の記事がありました。
上記記事執筆時でのhubはバージョン2.2.3で、この記事執筆時のバージョンは2.11.2と大きく更新が入っているようです。基本的な操作をおさらいしつつ、2.11.2までに追加されている機能について特に大きいと思われるものをさわってみました。
基本的な使い方
ベーシックなコマンドについては2.2.3の頃から変わらずそのままです。
* hub create [<repository-name>] * hub clone github/hub * hub pull-request [-b <branch-name>] * hub issue * hub fork # need before clone * hub create [<repository-name>] * hub browse github/hub # open in browser * hub issue
また、GitHubアカウントの設定についても変わりません。
hub cloneについては利便性の面でghq getを利用している人も多いかもしれません。
追加機能
確認した限りでは、pull-request系で大きな変更が入った2.3.0と、Github APIのスクリプト操作を受付可能にする機能が入った2.8.3が個人的な見どころでした。
2.3.0
Release hub 2.3.0 – codename “Ancient Psychic Tandem War Elephant” · github/hub
hub prにてpull-request一覧取得、チェックアウト関わる操作が可能になっています。
hub pr list hub pr checkout \<NUMBER>
hub pull-requestに担当者、ラベル、レビュアー、マイルストーンが指定可能になっています。
hub pull-request [-focp] [-b \<BASE>] [-h \<HEAD>] [-r \<REVIEWERS> ] [-a \<ASSIGNEES>] [-M \<MILESTONE>] [-l \<LABELS>]
hub pull-requestとhub issue createにテンプレートが利用可能になっています。
全面的にプルリクエストの利便性が上がっているバージョンでした。
2.8.3
Release hub 2.8.3 · github/hub
頑張れば色々できるようになったというイメージがあります。実際に使うかどうかは個人差があるかもしれません。

ヘルプコマンドのショートカット
hubそのものの更新ではありませんが、正直コマンド一覧を辿り辛かったこともあり、補完出来るようにしてみました。
% vim ~/.zshrc
function hubh() {
result="$(hub help | peco | awk '{print $1 }' | sed 's/ //g')"
print "> hub help hub-${result}"
hub help hub-${result} | less
}
% exec $SHELL -l
% hubh

まとめ
導入していなかった方は、インストールしておくことでterminal上からのgithub操作がとても易くなるはずです。
既に導入済みでもhubを更新していなかった方は、問題なければ是非とも更新をおすすめします。






