ghq+pecoでリポジトリ管理したら便利だった話
はじめに
ある程度長い間プロジェクトを作ったり貢献したりしていると、ローカルリポジトリがごちゃごちゃしてくる。そんなとき、ふとインターネット記事で見つけたghq+pecoの組み合わせがかなり使いやすかったので、備忘録的な感じで残しておこうと思う。
インストール
今回使用したのはUbuntu 20.04.3 LTS。ghqはgo get
でインストールできる。
go get github.com/x-motemen/ghq
pecoは素直にapt
コマンドで。
sudo apt install peco
ghq
ghqはghq get <リポジトリURL>
とするだけで、リポジトリをghqのルートディレクトリにクローンしてくれる。GitHub以外のリポジトリでも可能。デフォルトはhttpsなので、sshプロトコルでクローンしたいときは-p
を付ける。
ghq + peco
ここからが本題。ghqではデフォルトだと~/ghq/github.com/user/repo
のような形式でクローンされる。だがこれだとパスが冗長で毎回打つのが面倒だ。
そこで登場するのがpeco。pecoとghqを組み合わせることで、各リポジトリへの移動が格段に楽になる。
以下のようなエイリアスを~/.bashrc
にでも書いておく。エイリアス名はrepo
にしてみた。
alias repo='cd $(ghq root)/$(ghq list | peco)'
repoと打つとghq get
でクローンしたリポジトリが一覧表示され、目的のリポジトリに一発で移動することができる。
最後に
※今回の例ではエイリアス名をrepo
にしましたが、どうやらAndroidのパッケージ管理ツールのコマンドと被るみたいなので、適宜変更してください。