(2024-02-19:追記あり)
Using GitHub CLI によると
$ GIT_DIR=.jj/repo/store/git gh issue list
のように、環境変数 GIT_DIR に .jj ディレクトリ内の git ディレクトリを指定すればよいようです。
nyagos で、gh
コマンドを使う時、この指定を自動的に行うようラッパーを定義しておきましょう。~/.nyagos を以下のエイリアス定義を追加すれば Ok です。
nyagos.alias.gh = function(args) local wd = nyagos.getwd() local newgitdir = nyagos.pathjoin(wd,".jj\\repo\\store\\git") args[0] = "gh.exe" -- replace 'gh' to 'gh.exe' if nyagos.access(newgitdir,0) then local oldgitdir = nyagos.env.GIT_DIR nyagos.env.GIT_DIR = newgitdir nyagos.rawexec(args) nyagos.env.GIT_DIR = oldgitdir else nyagos.rawexec(args) end end
bash 環境の場合は、本家によると direnv コマンドを導入して .envrc
に次のように書いておけばよいそうです。
export GIT_DIR=$PWD/.jj/repo/store/git
2024-02-19:追記
にも書いたのですが、jj git init --git-repo=.
で既存の Git レポジトリを jj 化して、両方使える状態にすると、gh
コマンドのエイリアスは必要ではなくなります。
とはいえ、nyagos でコマンドのエイリアスの書き方のサンプルとしては良いので、本記事はそのままにしておきます。