yossy-dev

I’m Software Enginner.

ghq + peco + GitHub CLIの組み合わせが便利

はじめに

今はpecoではなくfzfを使って同様のことをしているのですが、 以前利用していた有名なghq・pecoの組み合わせがとても便利だったので一例を記事にしてみました。


目的

今更ですがghq,peco,GitHubCLIが超便利だったので紹介します。 一例としてこんな感じでターミナルからブラウザでリポジトリを開けるようにします。

f:id:yossy-dev:20210605185120g:plain

ghqとは

リポジトリ管理ツールです。 ghq get <リポジトリのURL>ghqで設定したディレクトリにgit cloneしてくれます。 さらにghq listghqで管理しているリポジトリ一覧を一覧で出力してくれます。 詳細は作者の方のブログ公式のリポジトリを参照してください。

  • インストール例(Mac OS
$ brew install ghq
  • 設定例
# ~/.gitconfig
[ghq]
  root = ~/projects # gitで開発を行っているディレクトリ
  root = ~/go/src # goのリポジトリは別で管理しているという人用(一例です)

pecoとは

標準入力で渡された一覧を表示しつつ、インクリメンタルサーチでテキストを絞っていけるツールです。 もともとctrl + rインクリメンタルサーチできると思いますが、pecoだとコマンド履歴を表示した上で絞っていけるので超便利です。 いつもありがとうございます。 詳細は公式やこちらの記事とか色んな方が紹介してくださっているのでそちらを参照してください。

  • インストール例(Mac OS
$ brew install peco

Github CLIとは

GitHub2020年9月に正式版を公開した、コマンドライン上でGitHubの操作を行えるツールです。 マニュアルが用意されているので使い方はこちらに載っています。

  • インストール例(Mac OS
$ brew install gh
  • インストール後の認証
$ gh auth login

認証まで完了したらgh repo view <リポジトリ名>とかでリポジトリの内容を閲覧してみましょう。 ターミナルにREADMEの内容が出力されると思います。

実用例

ghq,peco,GitHubCLIがインストールできて準備ができたら実際に使ってみます。 エイリアスは設定しなくてもコマンド打てますが、設定しておくのがおすすめです!

対象リポジトリをブラウザでターミナルから開く

  • 以下を.zshrc(or .bashrcなど)に記載
# aliasはお好きなのを設定してください。
alias ghw='gh repo view -w $(ghq list | peco)
  • 設定を反映する
$ source ~/.zshrc
  • Demo こんな感じでターミナルからブラウザでリポジトリを開くことができます。

f:id:yossy-dev:20210605185241g:plain

番外編

以下でこんなのもあるよというのも記載しています!

# ~/.zshrc
# ghqで管理しているリポジトリにpecoで絞って移動する。
alias cdp='cd $(ghq list -p | peco)'

# ghqで管理しているリポジトリをpecoで絞ってVSCodeで開く。
alias vs='code $(ghq list -p | peco)'

# カレントディレクトリのOpenになっているPRをブラウザで開く。
alias pr='gh pr view --web'

終わりに

ghqとかpecoなどを使った組み合わせは他にもたくさん探したらでてくると思いますが、 今回はGithubCLIとの組み合わせを載せてみました。 こんな便利なものを公開してくれている方々に本当に感謝ですね。

GithubCLI便利と言っておきながら仕様頻度高いのはVSCode開くコマンドとディレクトリ移動のコマンドだと思います😂 「これもええで!」みたいなのがあればぜひ教えて下さい!

参考

ありがとうございます!