同リポジトリの別ブランチをAIに並行で作業させる
2026/01/16
要はgit worktreeを活用しましょうという話なんだけど、git worktree自体は貧弱なので周辺ツールに頼る
とりあえず自分は以下みたいな感じでやってますよというだけであって、ベストプラクティスではない
使用ツール
-
ghq: リポジトリ管理
x-motemen/ghq -
gwq: git worktree のラッパー
d-kuro/gwq -
fzf: ファジーファインダー
junegunn/fzf -
tmux: ターミナルマルチプレクサ
tmux/tmux -
fish: シェル
fish
worktree作成
以下でworktreeを作成する
gwq add [ブランチ名]
これは git worktree add [ブランチ名] のラッパー
デフォルトでは ~/worktrees/ 以下にリポジトリをコピーする
このworktree内では、(可能ではあるが)ブランチ切り替えを行わない
つまりディレクトリ名とブランチを1:1にする
で、git管轄外の自分用ファイル/ディレクトリがあると思うので、
それを以下みたいなシェルスクリプトでリンク張る
gwq-post-script.sh
ディレクトリ移動
fishの設定で以下のエイリアス指定
abbr -a fr 'pushd (ghq list -p | fzf --reverse --exit-0)'
abbr -a fw 'pushd (find ~/worktrees -name .git | xargs -I {} dirname {} | fzf --reverse --exit-0)'
これで fr でリポジトリ移動、
fw でワークツリー(ブランチ)移動をする
= AIに並行作業させる
tmuxの1ウィンドウ = 1ワークツリー みたいな。。。
usecase
現時点での自分の運用ではこんな感じ
ghqが管理するリポジトリのブランチは、基本的にはマージ先のメインとなるブランチ(developとか)でブランチを固定する
例えばdevelop最新でrebaseしたい時、
frでdevelopに移動
普通にgit pull
fwで作業ブランチに移動
git rebase develop
みたいな...
というのをaiに要約&改善させた
2026-01-16 記事改善 claude opus 4.5
2026-01-16 記事改善 chatgpt 5.2 thinking
2026-01-16 記事改善 gemini 3 pro
2026-01-16 記事改善 grok code fast 1
結論:
ポエムなら無料のgrokで十分
よかったですね
おわり