worktree について
worktreeは、開発サーバーを実行できる状態に整えながらGit worktreeを作成・管理するコマンドラインスキルです。サブモジュールの初期化、メインworktreeからの.envファイルのコピー、pnpmによる依存関係のインストールを行います。
主な機能
- 01ブランチ用worktreeの作成
- 02Gitサブモジュールの初期化
- 03.envファイルのコピー
- 04pnpmによる依存関係のインストール
- 05worktreeの一覧表示と削除
活用シーン
- 01新機能用worktreeの作成
- 02既存ブランチの開発準備
- 03worktreeの一覧確認
- 04開発後のworktree削除
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ civitai/ civitai --skill worktreeインストール後、Claude Code で/worktreeを入力して読み込まれたか確認します。
同梱ファイルcli.mjs
詳細
Worktree セットアップスキル
開発サーバーを実行するために必要なセットアップをすべて行い、git worktree を作成します。手間のかかるセットアップ手順を自動化するため、すぐに作業を始められます。
クイックスタート
# Create a worktree for a new branch
node .claude/skills/worktree/cli.mjs create feature/my-feature
# Create a worktree for an existing branch
node .claude/skills/worktree/cli.mjs create existing-branch
# List all worktrees
node .claude/skills/worktree/cli.mjs list
# Remove a worktree
node .claude/skills/worktree/cli.mjs remove feature/my-feature
実行内容
worktree を作成すると、このスキルは次の処理を行います。
../model-share-<branch-name>に git worktree を作成します(ブランチ名のスラッシュはダッシュに置き換えられます)- git submodule を初期化します(
git submodule update --init --recursive)—event-engine-commonに必要です - メインの worktree から新しい worktree に
.envをコピーします - 依存関係をセットアップするために
pnpm installを実行します(pnpm のコンテンツアドレス可能ストアを利用するため、インストールが高速です)
CLI コマンド
| コマンド | 説明 |
|---|---|
create <branch> | 指定したブランチ用の新しい worktree を作成します |
list | すべての worktree を一覧表示します |
remove <branch> | worktree を削除します(ディレクトリを削除し、git worktree を整理します) |
使用例
# Create worktree for a new feature
node .claude/skills/worktree/cli.mjs create feature/user-auth
# Creates: ../model-share-feature-user-auth
# Create worktree for a bugfix
node .claude/skills/worktree/cli.mjs create fix/login-issue
# Creates: ../model-share-fix-login-issue
# Remove when done
node .claude/skills/worktree/cli.mjs remove fix/login-issue
Worktree を main にマージする
ユーザーから「worktree をマージして」または「main にマージして」と依頼された場合は、次のワークフローに従ってください。
-
worktree 内で変更をコミットします。
cd /path/to/worktree git add <files> git commit -m "feat/fix: description" -
main を更新してマージします。
cd /path/to/main-worktree git fetch origin && git checkout main && git pull origin main git merge <branch-name> --no-edit git push origin main -
worktree とブランチをクリーンアップします。
# Remove the worktree directory (use --force if needed) rm -rf /path/to/worktree # Delete the local branch git branch -d <branch-name> # Optionally delete remote branch git push origin --delete <branch-name>
例
# 1. Commit in worktree
cd ../model-share-fix-my-bug
git add src/file.ts
git commit -m "fix: resolve the bug"
# 2. Merge to main
cd ../model-share
git fetch origin && git checkout main && git pull origin main
git merge fix/my-bug --no-edit
git push origin main
# 3. Clean up
rm -rf ../model-share-fix-my-bug
git branch -d fix/my-bug
注意事項
- ブランチ名にスラッシュが含まれる場合、ディレクトリ名ではダッシュに置き換えられます
.envファイルはシンボリックリンクではなくコピーされるため、必要に応じて worktree ごとに環境をカスタマイズできます- pnpm のコンテンツアドレス可能ストアを使用するため、2 回目以降の worktree のインストールは高速です
- 作成後、新しい worktree で開発サーバーを起動するには
/dev-serverスキルを使用してください
コメント
Markdown 対応