ghqというローカルリポジトリを一元的に
管理するツールをインストールしてみました。こちらのツールを使うとgolangと同じようなディレクトリ構成で
リポジトリを管理できるようになります。
また今回はこちらの記事を参考に(というかまんま同じに)、 リポジトリ(ソース)を管理するようにしてみました。
golangのディレクトリ構成
まずはGOPATHを$HOMEに設定し、以下のようなディレクトリ構成にします。
.zshrc
## golang
export GOPATH=$HOME
export PATH=$PATH:$GOPATH/bin
$HOME配下の構成
.
├── bin
├── pkg
└── src
└── github.com
├── clone
├── codegangsta
├── mattn
└── peco
これでgolangのリポジトリ(ソース)は、src配下に作成されます。
また今回はghqを使ってインストール(clone)するgolang以外のリポジトリもsrc配下にインストールするよう設定します。
ghqのインストール
$ go get github.com/motemen/ghq
$HOME/.gitconfigにghqを使ってインストールするディレクトリ先を指定します。
[ghq]
root = ~/src
これでghqコマンドを使って、インストールできるようになります。
$ ghq get https://github.com/zsh-users/zsh-syntax-highlighting.git
srcディレクトリ配下にインストールされます。
src
└── github.com
└── zsh-users
└── zsh-syntax-highlighting
ghqでインストールしたリポジトリの一覧を表示し、移動するスクリプト
# peco-src
# (http://blog.kentarok.org/entry/2014/06/03/135300)
function peco-src () {
local selected_dir=$(ghq list --full-path | peco --query "$LBUFFER")
if [ -n "$selected_dir" ]; then
BUFFER="cd ${selected_dir}"
zle accept-line
fi
zle clear-screen
}
zle -N peco-src
bindkey '^S' peco-src
まとめ
今までの自己流から、ずいぶん分かりやすくなりました。
当面この方法で管理をしていこうと思います。
お疲れ様でした。