hotoolong's blog

プログラムのことやエンジニアリングに関することを記事にしています。

Githubを操作するコマンドラインツール gh を試してみた

イントロ

mattnさんがつぶやいていたのをみて ghコマンド便利そうなので使ってみました。 github.com

hubコマンドがありますが、なんとなくしっくり来なくて、私はあまり使ってませんでした。

インストール

brew でインストールしてみました。

brew install gh

インストール時に

Bash completion has been installed to:
  /usr/local/etc/bash_completion.d

zsh completions have been installed to:
  /usr/local/share/zsh/site-functions

fish completions have been installed to:
  /usr/local/share/fish/vendor_completions.d

と補完にも対応してくれてます。便利です。

他にもgo get からもインストールできるようです。

使ってみた

早速つかってみたスクリーンショット

f:id:hotoolong:20200213210007p:plain
gh_command

まだできることは少ないようですが、なかなか良さそうです。

gh issue create してTitle,Bodyをコマンドライン, エディタで入力できるのがいいですね。

gh issue

コマンド
create 新しい issue の作成
status issue の status を 見る
list リポジトリのissue 一覧を見る (フィルターできる)
view ブラウザでissueを表示

gh pr

コマンド
checkout PRをチェックアウト
status PRのステータスを見る
create PRを作成する
view ブラウザでPRを表示
list リポジトリのPR一覧を見る (フィルターできる)

peco と連携

fzfのpreviewが便利そうなのですが、fzfは使ってないので、pecoで連携しました。

gh issue list --state open | peco | cut -f1 | xargs -I {} gh issue view {}

これでpecoで選択したissueをブラウザで開く事ができます。
fishのfunctionにしてしまってキーバインドすると便利そうです。

今後に期待

notificationsもコマンドでチェックできるようになると嬉しいな。
今後の機能追加に期待です。