ghq

スポンサーリンク

概要

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

上記の例では ^] にバインドしているので、コマンドライン上で ^] で管理下のリポジトリの一覧が表示され、選択することで指定したリポジトリのディレクトリに移動できます。

コメント

タイトルとURLをコピーしました