ghqでGitHubのリポジトリ管理する
概要
ソースコードは Go 言語のエコシステム(?) $GOPATH
配下での一元管理と決められたディレクトリ構造をそのまま活用することにした。そのために便利な ghq を導入する。
GitHub - motemen/ghq: Remote repository management made easy
ちなみにプログラミング言語問わず、ソースコードのディレクトリを一元管理するのなら $GOPATH は ~/go
よりも ~/dev
とか ~/workspace
の方が合ってると思うけど、個人的にイマイチしっくりくるワードが思い当たらず、今のところ ~/go
使ってる。
[追記] Go v1.8 の新仕様
$GOPATH が未設定の場合にデフォルトで ~/go
をつかうようになるそうだ。
assume GOPATH=$HOME/go if not set
インストール
Homebrew からいれる
$ brew install ghq
設定
$ git config --global ghq.root $GOPATH/src
この設定をしないと ~/.ghq
配下にクローンされる。Go 言語使うなら $GOPATH 直下の src を設定すべき。
リポジトリのクローン
いろいろな書き方ができる
$ ghq get git@github.com:jnst/go-world.git
$ ghq get https://github.com/jnst/go-world.git
$ ghq get jnst/go-world
クローンしたリポジトリへ移動
$ ghq look go-world
peco
か fzf
つかって zsh スクリプトと合わせて使うのが一般的らしいけど、zsh の導入とか各種スクリプトみるとウゲッてなるので自分は ghq look
だけでいいや派。
[追記] FishShell
+ fisherman
を導入
ショートカットキー Ctrl + G
で超快適なディレクトリ移動を手にいれた。