Claude Code などの AI ツールを使った開発では、複数のタスクを同時並行で進めれるようになります。
例えば:
ただ、従来の git checkout だとブランチ切り替えのたびに作業が中断されますが、git worktree を使えば複数のブランチを同時に扱えます。
git worktree は、1つのリポジトリで複数の作業ディレクトリ(worktree)を持てる機能です。
通常は git checkout でブランチを切り替えますが、worktree を使うと別ディレクトリに別のブランチをチェックアウトできます。
例として新機能開発用のブランチを worktree で用意します
# 現在の状態を確認
git branch -a
git worktree list
# 新しい worktree を作成(新規ブランチ付き)
git worktree add ../my-project-feature -b feature/new-featureこれで以下の2つの worktree ができました:
~/projects/my-project (ブランチ: main)~/projects/my-project-feature (ブランチ: feature/new-feature)git worktree add <パス> -b <ブランチ名> で、指定パスにリポジトリのコピーが作られ、同時に新しいブランチが切られます。
main での作業を邪魔せずに、別ディレクトリで新機能の開発ができるようになりました。
作業が終わってマージしたら、worktree は不要になるので削除します。
# worktree を削除
git worktree remove ../my-project-feature
# ローカルブランチを削除
git branch -d feature/new-feature
# リモートブランチも削除
git push origin --delete feature/new-feature
# 確認
git worktree list
git branch -aこれで worktree とブランチの両方を削除できました
# worktree 一覧を表示
git worktree list
# 既存ブランチから worktree を作成
git worktree add <パス> <既存ブランチ名>
# 新規ブランチで worktree を作成
git worktree add <パス> -b <新規ブランチ名>
# worktree を削除
git worktree remove <パス>
# worktree の情報を削除(ディレクトリが既に削除済みの場合)
git worktree prunegit worktree はブランチ切り替えなしで複数の作業を同時進行できるので AI ツールを使った開発フローと相性が良さそうです。
あるブランチで作業中だったとしても stash したり中途半端にコミットせずともブランチ切り替えができるので並列開発以外でも便利と思いました。