ローカルリポジトリを $HOME/Projects 直下にすべて置いていたけど、 それをやめて、ghq を使って Go の流儀で管理することにした。
ghq は go だけでなく、git と mercurial も必要としているので、 インストールしていなければ homebrew でインストールしておく。
$ brew install git $ brew install mercurial $ brew install go
$HOME/src 下にリポジトリをすべて置きたいので、.zshrc で GOPATH を指定する。
export GOPATH=$HOME
ghq をインストール。先ほど設定した $HOME/src 下にインストールされる。
$ go get github.com/motemen/ghq
ghq のバイナリは $HOME/bin にあるので、呼び出せるように .zshrc で PATH に追加する。
export PATH="$HOME/bin:$PATH"
ghq でダウンロードするリポジトリを $HOME/src 下に置くために、git の設定が必要。
$ git config --global ghq.root ~/src
これで準備完了。試しに設定ファイルを管理しているリポジトリをダウンロードしてみる。
$ ghq get github.com/tnakamura/dotfiles
ダウンロードしているリポジトリの一覧を見てみる。
$ ghq list code.google.com/p/goauth2 github.com/codegangsta/cli github.com/daviddengcn/go-colortext github.com/google/go-github github.com/google/go-querystring github.com/motemen/ghq github.com/motemen/go-colorine github.com/tnakamura/dotfiles github.com/tnakamura/tnakamura.github.io
go get でダウンロードしたやつも上がってきている。
リポジトリに移動したい場合は look コマンドを使う。 試しに、先ほどダウンロードした dotfiles に移動。
$ ghq look dotfiles
これでローカルのリポジトリを go の流儀で管理できるようになった。 ただ、リポジトリの一覧から目的のものを探したり、リポジトリを移動するのが、まだ面倒。 そこらへんを解決するために、次は peco をインストールしてみようと思う。