ghqをインストールする

Posted by Tatsuyano on Wed, Aug 27, 2014
In
Tags go

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/.gitconfigghqを使ってインストールするディレクトリ先を指定します。

[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

まとめ

今までの自己流から、ずいぶん分かりやすくなりました。
当面この方法で管理をしていこうと思います。

お疲れ様でした。

参考サイト

関連する記事