はじめに
何番煎じかはわかりませんが、有名なghq・pecoの組み合わせが汎用性ありすぎてとても便利だったので一例を記事にしてみました。
目的
今更ですがghq,peco,GitHubCLIが超便利だったので紹介します。
一例としてこんな感じでターミナルからブラウザでリポジトリを開けるようにします。
ghqとは
リポジトリ管理ツールです。
ghq get <リポジトリのURL>
でghqで設定したディレクトリにgit cloneしてくれます。
さらにghq list
でghqで管理しているリポジトリ一覧を一覧で出力してくれます。
詳細は作者の方のブログや公式のリポジトリを参照してください。
- インストール例(Mac OS)
$ brew install ghq
- 設定例
[ghq]
root = ~/projects # gitで開発を行っているディレクトリ
root = ~/go/src # goのリポジトリは別で管理しているという人用(一例です)
pecoとは
標準入力で渡された一覧を表示しつつ、インクリメンタルサーチでテキストを絞っていけるツールです。
もともとctrl + r
でインクリメンタルサーチできると思いますが、pecoだとコマンド履歴を表示した上で絞っていけるので超便利です。
いつもありがとうございます。
詳細は公式やこちらの記事とか色んな方が紹介してくださっているのでそちらを参照してください。
- インストール例(Mac OS)
$ brew install peco
Github CLIとは
GitHubが2020年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
番外編
以下でこんなのもあるよというのも記載しています!
# 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との組み合わせを載せてみました。
それぞれ個別で利用してもとても便利ですね。
こんな便利なものを公開してくれている方々に本当に感謝です。
「これもええで!」みたいなのがあればぜひ教えて下さい!
参考
ありがとうございます!