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.name
や user. email
など.その場合は gitconfig の includeIf
を使うと便利で,もし ghq の「複数の root 設定」を使うのであれば includeIf
も一緒に設定しておくと良いと思う.詳しくは以下の記事を読んでもらえると!
「ghq handbook」も合わせて読む
去年 ghq を導入するときに合わせて読んだ「ghq handbook」にも「複数の root 設定」の話題が載っている.もしこれから ghq の導入を検討しているなら読んでみると良いと思う.僕にとって ghq は本当に必須すぎて使えないとリポジトリを探せないかも!笑