Skip to content

Latest commit

 

History

History
51 lines (36 loc) · 2.03 KB

03-command-root.md

File metadata and controls

51 lines (36 loc) · 2.03 KB
title type published
リポジトリ取得ディレクトリの設定(`ghq root`)
tech
true

リポジトリ取得ディレクトリの設定(ghq root)

ghqはデフォルトで$HOME/ghq配下にリポジトリを配置します。これは変更可能です。

ghqは設定にgitconfigを用います。ghq.rootがリポジトリ取得ディレクトリのための項目です。Goプログラマーであれば、$GOPATH/src以下にghqが期待するレイアウトでリポジトリが配置されているので、以下のように設定してみましょう。

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

このとき.gitconfigには以下のような設定が書き加えられているはずです。

[ghq]
root = ~/go/src

こうすれば、ghq get~/go/srcにリポジトリが取得され、ghq listでそれを一覧できます。

ただ、Goのコードとそれ以外の言語のコードの混在が困る場合もあるでしょう。そんなときのために、ghq.rootは複数設定できるようになっています。

[ghq]
root = ~/go/src
root = ~/myprojects

複数設定されている場合、一番後ろに書かれたディレクトリがプライマリとなり、go getはそのディレクトリにリポジトリの取得をおこないます。この設定の場合、ghq get~/myprojectsの方にリポジトリが取得され、ghq listでは~/myprojects及び~/go/src両方の配下のリポジトリが一覧されます。

この設定はghq rootコマンドで確認できます。

% ghq root
/Users/Songmu/myprojects

ghq rootは最優先の1件のみを出力しますが、複数設定されている場合はghq root --allで全件出力されます。

% ghq root --all
/Users/Songmu/myprojects
/Users/Songmu/go/src

また、ghq.<base>.rootの設定も、ghq root --allで一覧されます。ghq.<base>.rootについては、次のghq getの章で取り上げます。