ghqで複数のrootを指定してpecoで移動できるようにする

概要

もともとghqとpecoを連携していて、ターミナルで gh と入力するとpecoが起動して指定したリポジトリに移動できるようにしている。(これめっちゃくちゃ便利)
そんななか、色々な理由でghqのrootを複数指定したい場合があるが、私がzshでやっていたaliasだと複数のリポジトリの書き方に対応していなかった。
整理すればいいじゃんと思うが、それをすると別の調整が必要になったり面倒になることがあるので、下記で解決した。

ghqの設定

.gitconfigで下記のようになっている。

[ghq]
  root = ~/Github
  root = ~/Others

zsh

もともとzshで下記のようにaliasを設定していた。

gh='cd $(ghq root)/$(ghq list | peco)'

これだとghq rootのOthersにアクセスできない。
ghq rootを実行すると上に書いたディレクトリしか表示されないためだった。ghq get とかしたら、ここで表示される階層にクローンされる。

$ ghq root
/Users/inamuu/Github

ghqのヘルプを見たらそもそもghq lookを使えばディレクトリに移動できるらしく、それを活用するだけでいけた。

alias gh='ghq look $(ghq list | peco)'

ちゃんとヘルプみないとね、、



カテゴリー: IT