🌳
【Git Worktree】複数ブランチを同時に開いて並列開発する
はじめに
ClaudeCodeセッションを並列で進める方法で、Git Worktreeを使うことが推奨されていたのでやってみた。ClaudeCodeのドキュメントはこちら。
git worktreeコマンドの基本的な使い方
コピーするディレクトリ名とブランチ名を指定してコマンドを実行
# issue1の作業用ワークツリーを作成
git worktree add ../xxx-issue1 -b feat/#1
# コピーするディレクトリは`xxx-issue1`
# ブランチは`feat/#1`
# issue1の作業用ワークツリーを削除
git worktree remove ../xxx-issue1
実際にやってみる
自分は、zennの記事を~/Projects/ghq/github.com/iskw9973/zenn-connectで管理しているので、article-a, article-bを並列して書かせたいなら、
git worktree add ../zenn-connect-worktrees/article-a -b feat/article-a
git worktree add ../zenn-connect-worktrees/article-b -b feat/article-b
# 一覧確認
git worktree list
# /Users/xxx/Projects/ghq/github.com/iskw9973/zenn-connect-worktrees/article-a 37adab6 [feat/article-a]
# /Users/xxx/Projects/ghq/github.com/iskw9973/zenn-connect-worktrees/article-b 37adab6 [feat/article-b]
ワークツリーができたので、
cd /Users/xxx/Projects/ghq/github.com/iskw9973/zenn-connect-worktrees/article-a
claude
別ターミナルで、
cd /Users/xxx/Projects/ghq/github.com/iskw9973/zenn-connect-worktrees/article-b
claude
vscodeの画面だとこんな感じで表示される

これで並行して作業を進められる
共通のファイルを操作しうる可能性がある場合に、互いの作業に影響を与えないことがメリット
まとめ
Git Worktreeを使うことで、複数issueを並行して進められ、AIエージェントを並列させたり、AIエージェントの変更と並行して作業ができる
同じブランチで2つ以上のワークツリーは作れないので、ディレクトリ自体コピーするよりも安全に開発ができることもメリットになっている
Discussion