git-worktree-manager について
git-worktree-manager は、複数のブランチを並行して扱う開発者向けの Git worktree 管理スキルです。作成、一覧表示、削除、整理に加え、並行テストやコードレビューの手順を示します。
主な機能
- 01ブランチやコミットからの作成
- 02worktree の形式別一覧表示
- 03worktree の削除とメタデータ整理
- 04worktree のロックと解除
- 05テストとレビューのワークフロー
活用シーン
- 01メイン作業と並行した機能開発
- 02複数ブランチの並行テスト
- 03プルリクエストの個別レビュー
- 04マージ済みや孤立した worktree の整理
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ d-o-hub/ rust-self-learning-memory --skill git-worktree-managerインストール後、Claude Code で/git-worktree-managerを入力して読み込まれたか確認します。
詳細
Git Worktree マネージャー
メインの作業ディレクトリをクリーンな状態に保ちながら、複数のブランチで並行開発できるように Git worktree を管理します。
推奨ディレクトリ構成
project/
├── main-repo/ # Main working directory
└── worktrees/ # All worktrees here
├── feature/name/
├── bugfix/name/
└── experiment/name/
主なコマンド
Worktree の作成
# From existing branch
git worktree add ../worktrees/feature-name feature-branch
# Create new branch
git worktree add -b feature/new ../worktrees/new-feature
# Detached HEAD (specific commit)
git worktree add ../worktrees/temp HEAD~5
Worktree の一覧表示
git worktree list
git worktree list --porcelain # Machine-readable
Worktree の削除
git worktree remove ../worktrees/name # Safe (clean only)
git worktree remove --force ../worktrees/name # Force removal
git worktree prune # Clean administrative data
ロック/ロック解除
git worktree lock ../worktrees/name # Prevent operations
git worktree unlock ../worktrees/name
ワークフローのパターン
機能開発
git worktree add -b feature/new ../worktrees/feature/new
cd ../worktrees/feature/new
# ... develop ...
cargo test # Test in isolation
git push
cd /path/to/main && git merge feature/new
git worktree remove ../worktrees/feature/new
並行テスト
for branch in feature/a feature/b; do
git worktree add ../worktrees/$branch $branch
cd ../worktrees/$branch && cargo test &
done
wait
コードレビュー
git worktree add ../worktrees/review/pr-123 origin/pr-123
cd ../worktrees/review/pr-123
cargo test
git worktree remove ../worktrees/review/pr-123
孤立した Worktree の検索
git worktree list | while read path commit branch; do
if ! git show-ref --verify --quiet "refs/heads/${branch#*/}"; then
echo "Orphaned: $path"
fi
done
ベストプラクティス
推奨事項
../worktrees/ディレクトリに整理します- ブランチ名に基づいた分かりやすい名前を使用します
- マージ後にクリーンアップします
- main にマージする前にテストします
- 孤立したデータを削除するため、定期的に prune します
禁止事項
- 無作為な場所に作成しないでください
- 未コミットの変更を残さないでください
- 管理データの prune を忘れないでください
- 競合するブランチを作成しないでください
- worktree を使うワークフローと使わないワークフローを混在させないでください
コメント
Markdown 対応