ghqとpecoでGitのリポジトリ管理をシンプルに
今まで1つのディレクトリの中にいろんなGitのリポジトリをcloneしていたのですが、リポジトリの名称が被って単純に1つのディレクトリで管理できなくなったため、Gitのリポジトリ管理の構成を見直すことにしました。
見直した結果使うことにしたツール
ghqとpecoを使います。
ghqとは
リモートリポジトリをローカルで管理するためのツール github.com
pecoとは
インタラクティブにフィルタリングを行うことができるツール github.com
ghqとpecoをインストールする
ghq
Goが入っていない場合は、まずGoのインストールを行います。
% brew install go
.zprofileに環境パスを追加します。
export GOPATH=$HOME export PATH=$PATH:$GOPATH/bin
goを入れたらghqをインストールします。
% brew install ghq
ghqで管理するrootディレクトリを.gitconfigに設定します。私は~/git
にしました。
% git config --global ghq.root ~/git
peco
pecoのインストールはコマンド1つ叩くだけ。
% brew install peco
設定を行う
.zshrcにエイリアスを設定します。
alias g='cd $(ghq list -p | peco)'
完了
コマンドラインでg
と打つと、リポジトリ一覧とリポジトリをフィルタリングできるようになります。リポジトリを選択すると、そのリポジトリがあるディレクトリへ移動もできます。
ちなみに、ghqだけだと私が困っていたリポジトリの名称が被っていたときの問題は解決しませんでした。エラーが起きた。
名称がかぶった困った問題も解決したのと、各リポジトリへの移動が楽になってよかった。