kakakakakku blog

Weekly Tech Blog : Keep on Learning 👍

ghq で「複数の root ディレクトリ」からリポジトリを探す

ghq「複数の root 設定」に対応している.例えば GitHub と CodeCommit と ${GOROOT}/src など,それぞれのディレクトリを対象に ghq list コマンドでリポジトリを探せる(個人的には ghq list + peco).最高すぎる!設定自体は gitconfig (~/.gitconfig) に以下のように設定する.独自に設定ファイルを持つのではなく gitconfig を活用するところにツールとしてのセンスの良さを感じる.

[ghq]
  root = ~/go/src
  root = ~/ghq/codecommit
  root = ~/ghq/github.com

プライマリ root(順番に気を付ける)

gitconfig として「複数の root 設定」は上書きされるため「1番最後の root がプライマリ root」になる.ghq root コマンドを実行すれば確認できる.ghq get コマンドを実行すれば,基本的には1番最後の root に取得される.動作確認をしておくと良いと思う.

$ ghq --version
ghq version 1.1.5 (rev:f5ac3e5)

$ ghq root
/Users/kakakakakku/ghq/github.com

$ ghq root --all
/Users/kakakakakku/ghq/github.com
/Users/kakakakakku/ghq/codecommit
/Users/kakakakakku/go/src

gitconfig の includeIf と組み合わせる

個人用と会社用など,gitconfig を変える場面は多いと思う.例えば user.nameuser. email など.その場合は gitconfig の includeIf を使うと便利で,もし ghq「複数の root 設定」を使うのであれば includeIf も一緒に設定しておくと良いと思う.詳しくは以下の記事を読んでもらえると!

kakakakakku.hatenablog.com

「ghq handbook」も合わせて読む

去年 ghq を導入するときに合わせて読んだ「ghq handbook」にも「複数の root 設定」の話題が載っている.もしこれから ghq の導入を検討しているなら読んでみると良いと思う.僕にとって ghq は本当に必須すぎて使えないとリポジトリを探せないかも!笑

kakakakakku.hatenablog.com