読者です 読者をやめる 読者になる 読者になる

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

pecofzf つかって zsh スクリプトと合わせて使うのが一般的らしいけど、zsh の導入とか各種スクリプトみるとウゲッてなるので自分は ghq look だけでいいや派。

[追記] FishShell + fisherman を導入

ショートカットキー Ctrl + G で超快適なディレクトリ移動を手にいれた。

zshは諦めてたけどfish shell導入したら捗った - jnst blog