今更かつghqってどうやってつかえばいいのかなって思ったり思わなかったりしたけどふと思い立ってghqを自分のPCに入れることにした。なお、GitHubEnterpriseはわかりません。
そもそもghqは、ローカルの中のGitHubのリポジトリを一括管理するやつで、慣れれば便利なツールです。
ふつうにghq getしてもremote-urlのプロトコルはhttps
リポジトリのurlのプロトコルがhttp/httpsだとGitHubへpushしたときにuser/passwordを聞かれるのは有名な話かもしれませんが、
GitHubにpushする度にusername/passwordを求められるとき - Qiita
ghq getでcloneできるリポジトリのプロトコルはhttpsなので、そこは注意しないといけないかもしらんです。
なので、ghq get -pでpオプションをつけると良いと思います。
ghq getでは
ghq + peco
pecoとghqの組み合わせは重要です。
.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
これもいいかもしれません。
ghqとpecoを組み合わせてGithubリポジトリを簡単に取得するためのghsコマンドを作りました - Qiita
なおghq getするとgithub.com/userなるディレクトリが掘られるので、慣れないと結構ぎょっとするかもしれません。今のところそれが嫌でどうにかしたいっていう人は見かけないので、みんな慣れているのでしょう。
helm-ghq
helm-ghq.elを作ってGO WAYに乗った / マスタカの ChangeLog メモ
Emacsでghqを使いたいってなったときに、あると良いと思います。
設定はこんな感じ。
;; helm-ghq (add-to-list 'helm-for-files-preferred-list 'helm-source-ghq) (add-to-list 'exec-path "/home/shigemk2/go/bin") (define-key global-map (kbd "C-x n") 'helm-ghq)
なお、goのパスがホームの下とかだとエラーが出るので、exec-pathを追加するとよろし。
helm-ghq で Searching for program: No such file or directory, ghq エラーが出るときの対処法 - @kyanny's blog