概要
ghq は Github などのリポジトリを扱う際に便利なツールです。peco を組み合わせることで、さらに便利になります。
ghq についての日本語の解説が下記にあります。
GitHub - Songmu/ghq-handbook
Contribute to Songmu/ghq-handbook development by creating an account on GitHub.
上記でほぼ事足りますが、以降は簡単な使い方をメモがてら。
Mac 環境で試していますが、他の環境でも用意されています。(上記参照)
インストールと使い方
インストールは Homebrew でOKです。
% brew install ghq
ghq で管理する root ディレクトリを設定します。
例えば ~/git
にしたければ下記のようにします。
% git config --global ghq.root '~/git'
ちなみに、上記の設定は ~/.gitconfig
に書き込まれます。
これで基本的には完了。
あとは例えば下記のように使えます。
clone する時は、本家の例を流用しますが、下記のように指定できます。
基本は URL を指定し、https://
は省略することも可能。
さらに、Github はドメイン部分も省略可能です。
% ghq get https://github.com/x-motemen/ghq
% ghq get github.com/x-motemen/ghq
% ghq get x-motemen/ghq
ghq で管理しているリポジトリの一覧。
-p を付けると、リポジトリを clone したディレクトリの一覧になります。
% ghq list
% ghq list -p
peco と連携
ghq は peco と連携することでさらに便利になるので、ぜひ連携しましょう。
peco をまだインストールしていなければ、下記でインストールします。
% brew install peco
下記を設定します。
.zshrc などで読み込ませるようにしましょう。
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
上記の例では ^]
にバインドしているので、コマンドライン上で ^]
で管理下のリポジトリの一覧が表示され、選択することで指定したリポジトリのディレクトリに移動できます。
コメント