ローカルにcloneしてきたGitのレポジトリの管理ツール ghq のデフォルトのrootディレクトリが~/.ghqから~/ghqに変更されたようです。
ghq
ghqはGoで作られたGitのローカルレポジトリ管理ツールで、
ghq
コマンドを使ってレポジトリを管理することが出来ます。
ローカルにレポジトリをcloneする際にどこにcloneするか、とか 考えなくて済むようになるので常に複数のレポジトリで開発を行ってる場合には かなり便利な環境が作れます。
ghq関連だとpeco とかを用いたシェル関数とかを作っておくとさらに便利になる、というのは良く見る話です。
私の設定だとghq go
とかでレポジトリ一覧を表示して選択した所に移動するような関数とかを作っています。
ここでは
sentaku
を使ってますがコマンドをそのままpeco
にしても使えるかと思います。
rootディレクトリ
どこにcloneするか考えなくて良くなるとはいえ、実体は取ってくるのでどこかにあります。
以前のデフォルト設定だとこれは~/.ghqというドットから始まる隠しディレクトリになってました。
その下に**~/.ghq/
これが、2020年1月1日にリリースされたv0.99.0から~/ghqという 見えるディレクトリに変更されました。
[incompatible] make ~/ghq default root by Songmu · Pull Request #237 · motemen/ghq
Please choose which one is better. If you have other good ones, reply to this tweet. This is only a reference questionnaire, and even the most answered option may not be adopted.
— songmu (@songmu) December 4, 2019
元々の問題、となっているIssuesでnot convenient
と言っていますが、
Windowsだから、とかいう理由ではなく、単に普段から手動でcd
で移動して
作業するので隠しディレクトリだとやりにくい、ということでしょうか?
個人的には上に書いたような移動する関数を使っているので むしろ明には見えてない方が嬉しくて、多分最初に作ったときもそういう理由だったのでは、とは思いますが。
ただ、今のメンテナ−の人が正式リリース1.0.0に向けて変更したい、ということでアンケートを取って、 予想に反して~/srcが人気を得てしまいましたが結局予定していた~/ghqへの変更になった様です。
ghqはMacでもLinuxでもHomebrewで管理していて、 Homebrewのパッケージは毎日自動でアップデートするようにしているので、 年明けのある時、ghq goとして作業開始しようとしたらレポジトリが一個もなくてちょっと焦りました。
場合によっては$HOME以下が何らかの理由で壊れた、という可能性すらあるので。
特に年明けのタイミング、ということで何か変なことが起こったのか、とかボケてる間に自分がなにかしたのか、とか。
ただ、ls ~/.ghq
したら全部ちゃんとあって、なんでだと思って調べたら上の様な変更でした。
rootディレクトリの変更
もともと~/.ghqという隠しディレクトリでの管理が気に入っていたので、 それを引き続き使いたいと思います。
設定は~/.gitconfigに
1 2 |
|
の様な設定をすればOK。
$ git config --global ghq.root ~/.ghq
でも設定できます。
こういったこともあるので、ghqに限らず、変更されたら困る様なデフォルト値がある場合には なるべく自分で明に設定しておいた方が良いですね。