git-worktree について
共通のシェルスクリプトで Git worktree を管理するスキルです。複数ブランチで並行作業する開発者向けに、保存場所の統一、環境ファイルのコピー、後片付けを行います。
主な機能
- 01worktree の作成・一覧・切り替え
- 02.worktrees/ への集約
- 03.env* ファイルの自動コピー
- 04.gitignore の更新
- 05マージ済み・古い worktree の削除
活用シーン
- 01機能開発をブランチごとに分離
- 02変更を退避せずに PR をレビュー
- 03完了済み・古い worktree の整理
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ majesticlabs-dev/ majestic-marketplace --skill git-worktreeインストール後、Claude Code で/git-worktreeを入力して読み込まれたか確認します。
同梱ファイルscripts/worktree-manager.sh
詳細
Git Worktree Manager
概要
このスキルは、Git worktree を管理するための統一インターフェースを提供し、分離された並行開発を可能にします。worktree を使うと、複数のブランチを別々のディレクトリに同時にチェックアウトできます。
主な機能:
- メインリポジトリから新しい worktree への
.envファイルの自動コピー .worktrees/ディレクトリへの一元的な保存- マージ済みおよび古い worktree のクリーンアップ
このスキルを使用する場面
- 機能開発用の分離された環境を作成するとき
- 複数のブランチで同時に作業するとき
- 現在の作業を退避せずに PR をレビューするとき
- 完了した機能ブランチをクリーンアップするとき
重要:必ず Manager スクリプトを使用してください
生の git worktree コマンドではなく、必ず worktree-manager.sh スクリプトを使用してください。このスクリプトは以下を処理します。
- 新しい worktree への
.envファイルの自動コピー .worktrees/ディレクトリへの一貫した保存.gitignoreの適切な管理
基本コマンド
すべての操作には、統一された worktree-manager.sh スクリプトを使用します。
bash scripts/worktree-manager.sh <command> [options]
Worktree の作成
worktree-manager.sh create <branch-name> [source-branch]
.worktrees/<branch-name> に新しい worktree を作成します。ブランチが存在する場合は、そのブランチをチェックアウトします。存在しない場合は、ソース(デフォルトは main/master)から新しいブランチを作成します。
Worktree の一覧表示
worktree-manager.sh list
各 worktree のブランチ、コミット、ステータス(clean/dirty/missing)を表示します。
Worktree の切り替え
worktree-manager.sh switch <branch-name|path>
ブランチ名またはパスを指定して worktree に切り替えるための情報を表示します。
Worktree のクリーンアップ
worktree-manager.sh cleanup [--force]
以下を特定して削除します。
- ブランチがマージ済みの worktree
- リモートブランチが削除された worktree
- worktree のディレクトリが見つからないもの
確認プロンプトを省略するには --force を使用します。
環境ファイルのコピー
worktree-manager.sh copy-env [worktree-path|branch-name]
メインリポジトリから worktree に .env.example を除く .env* ファイルをコピーします。以下の場合に便利です。
- この機能が追加される前に作成した既存の worktree に環境ファイルを追加する
- メインリポジトリの変更後に環境ファイルを更新する
引数を指定せずに worktree 内で実行すると、現在の場所にコピーします。
保存場所
worktree はリポジトリのルート内にある .worktrees/ に保存されます。このディレクトリは自動的に .gitignore に追加されます。
ワークフローの例
# Start new feature
worktree-manager.sh create feature-auth
# Work in the new worktree
cd .worktrees/feature-auth
# List all worktrees
worktree-manager.sh list
# When done, clean up
worktree-manager.sh cleanup
トラブルシューティング
既存の worktree に .env ファイルがない
環境ファイルの自動コピー機能が追加される前に作成した worktree がある場合:
bash scripts/worktree-manager.sh copy-env feature-branch
または、worktree ディレクトリ内から:
bash scripts/worktree-manager.sh copy-env