Git Worktree:複数のブランチで同時に作業する

git worktreeを使用して、別々のディレクトリで複数のブランチを同時にチェックアウトする方法を学びます。ホットフィックス、コードレビュー、並列開発に最適。

Advanced

詳細な説明

Git Worktreeで複数ブランチを同時に作業

git worktreeは同じリポジトリの複数のブランチを別々のディレクトリで同時にチェックアウトできます。stash、ブランチ切り替え、クローンは不要です。

Worktreeの作成

# 既存のブランチ用にworktreeを作成
git worktree add ../hotfix hotfix/critical-fix

# 新しいブランチでworktreeを作成
git worktree add -b feature/new-feature ../new-feature

Worktree vs Stash vs Clone

アプローチ 速度 ディスク容量 .git共有
Stash 高速 なし はい
Worktree 高速 少量 はい
Clone 低速 大量 いいえ

Worktreeは同じ.gitディレクトリを共有するため、追加のディスク容量は最小限で、すべての操作(fetch、gc)がすべてのworktreeに適用されます。

ユースケース

Git worktreeは複数のことを同時に作業する必要がある一般的な問題を解決します。stashしてブランチを切り替える代わりに(これはフローを中断します)、各ブランチに別々のディレクトリを持つことができます。現在のフィーチャーのコンテキストを失わずに緊急のホットフィックスを処理する、コーディング中にプルリクエストをレビューする、あるブランチで長いテストを実行しながら別のブランチで開発する場合に最適です。

試してみる — Git Command Reference & Cheat Sheet

フルツールを開く