Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
319
Help us understand the problem. What is going on with this article?
@strsk

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

319
Help us understand the problem. What is going on with this article?
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

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
319
Help us understand the problem. What is going on with this article?