by shigemk2

当面は技術的なことしか書かない

Git Worktree メモ

同じリポジトリの複数のブランチを、別々のディレクトリに同時にチェックアウトできるGitの機能。 通常のgit checkoutはブランチを切り替えるたびに作業ディレクトリが変わるが、worktreeを使えば複数のブランチを並行して扱える。

my-project/
├── main/              ← メインリポジトリ
├── feature-auth/      ← worktree: 認証機能
├── feature-ui/        ← worktree: UI改善
└── bugfix-api/        ← worktree: バグ修正

すべてのworktreeは同じGit履歴を共有し、どのworktreeでコミットしても他から見える。

基本コマンド
bash# 新しいブランチ + worktreeを作成
git worktree add ../feature-auth -b feature/auth

# 既存ブランチのworktreeを作成
git worktree add ../bugfix-api bugfix/api

# worktree一覧
git worktree list

# worktree削除
git worktree remove ../feature-auth

# 不要なメタデータを削除
git worktree prune