GitHubを使ってるならhubコマンドを使うべし
前回の「今さら聞けないgit pushコマンド」に続きGitネタです。
今日はGitHubを使う全てのユーザの方におすすめしたいhub
コマンドを紹介します。
hub
コマンドとは
GitHub社が公開しているコマンドです。
リポジトリはこちら。https://github.com/github/hub
git
コマンドをラップしていて、GitHub上の操作をCUIから行うことができるようになります。
導入
導入はとっても簡単です。
インストール
Homebrewならコマンド一発です。
$ brew install hub
alias設定
hub
を直接打たなくても良いようにgit
にaliasします。(.bash_profile
などに記載してください)
hub
はgit
をラップしているので今まで素のgit
で使っていたコマンドは全て使えます。
eval "$(hub alias -s)"
いきなりコマンドを置き換えるのが少し気持ち悪い方はやらなくても良いでしょう。hub
って直接打てばいいだけですし。
特に便利なコマンド
hub
には独自のコマンドがかなりたくさん用意されていますが、個人的に好きなコマンドを紹介していきます。
alias設定している前提でコマンドを載せています。alias設定していない場合はgit
をhub
に置き換えて実行してください。
GitHub上のリポジトリを見る
現在のリポジトリをGitHubで見ます。 地味に一番便利かもしれません。
$ git browse
Pull Requestを出す
普通はGitHubのWebページでPull Request操作をすると思いますが、これもhub
コマンドで一発です。
今回は省略しますが、オプションを使ってマージ先の選択やissueとの関連付けなどもできます。
$ git pull-request #現在のブランチからmasterへのPull Requestを作成
cloneする
素のgit
コマンドでは完全なURLを指定してcloneしますが、hub
ではかなり省略した書き方ができます。
$ git clone github/hub #自分のリポジトリなら更に省略できます。 $ git clone myrepo
Pull Requestから直接checkout
Pull Requestを出しているブランチを直接チェックアウトできます。 こちらも地味にかなり便利。
$ git checkout https://github.com/defunkt/hub/pull/73
Pull Requestをマージ
Pull Requestをマージできます。
checkoutやこれもマスターすれば、GitHubを開くことはかなり少なくなると思います。
$ git merge https://github.com/defunkt/hub/pull/73
GitHub上でdiffを表示
GitHub上でdiffを見ることができます。
このコマンドに関してはdiff
ではなくてcompare
なので少し覚えづらいのがつらいところです。
$ git compare before_branch..after_branch
GitHub Enterpriseを使ってる人は
ホストをデフォルトのgithub.com
から変更しましょう。(なかなかいないとは思いますが...。)
$ hub config --global hub.host hostname $ hub config --list --global #設定を確認