345
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

ghqでリポジトリ管理とpeco連携で快適git生活

Gitのローカルリポジトリが増えてくるとどういう構成にすればいいか悩むところだけど、ghqとpecoがあれば考える必要がありません。今まで入れてなかった事を後悔するレベル。

ghqインストール

Goがまだ入ってなければGoをインストール

% brew install go

お好みのシェルにパスを設定

export GOPATH=$HOME
export PATH=$PATH:$GOPATH/bin

書いたら読み込む(直で打つも良し)

% source ~/.zshrc

ghqインストール

% brew install ghq

ghqで管理するrootディレクトリを設定(~が展開されないよう'で括ってます)

% git config --global ghq.root '~/src'

ghqをつかう

#cloneする
% ghq get git://github.com/project.git
#ghq管理下のリポジトリを表示
% ghq list
#ghq管理下のリポジトリにcd
% ghq look hoge
        cd /Users/strsk/src/github.com/strsk/dotfiles

pecoと連携

pecoインストール

% brew install peco

ghq list -pで管理しているリポジトリのパスをpecoに渡してcdするファンクションを^]に登録します。keyはas you likeで。

function peco-src () {
  local selected_dir=$(ghq list -p | peco --query "$LBUFFER")
  if [ -n "$selected_dir" ]; then
    BUFFER="cd ${selected_dir}"
    zle accept-line
  fi
  zle clear-screen
}
zle -N peco-src
bindkey '^]' peco-src

書いたら読み込む!

% source ~/.zshrc

あとはターミナルで^]を打てば快適生活のはじまりです。
ghq_peco.png

Special Thanks

ghq: リモートリポジトリのローカルクローンをシンプルに管理する - 詩と創作・思索のひろば (Poetry, Writing and Contemplation)
ghqを使ったローカルリポジトリの統一的・効率的な管理について - delirious thoughts
ghq + peco/percol - Tatsuhiko Miyagawa's blog

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
345
Help us understand the problem. What are the problem?