← Back to list

git-worktree
by sh1ma
sh1maのブログ
⭐ 3🍴 0📅 Jan 15, 2026
SKILL.md
name: git-worktree description: Git worktreeを使った並列開発を支援する。複数のClaude Codeインスタンスで同時に異なるブランチの作業を行う際に使用する。"worktree"、"並列開発"、"別ブランチで作業"などのキーワードで発動。
Git Worktree管理
Git worktreeを使って並列開発を支援するスキル。
重要なルール
作業を開始する前に、必ずこのスキルを使ってworktreeとブランチを作成すること。
worktree作成後は、必ず .claude/settings.local.json のシンボリックリンクを作成すること。 この手順は必須である。スキップしてはならない。シンボリックリンクを作成することで、MCP/コマンド/スキルの許可設定が全worktree間で確実に共有される。
ブランチ命名規則
Conventional Commitに準じた形式でブランチ名を付ける:
<type>/<short-description>
利用可能なtype
| type | 用途 |
|---|---|
feat | 新機能追加 |
fix | バグ修正 |
refactor | リファクタリング |
docs | ドキュメント変更 |
style | コードスタイル変更(フォーマットなど) |
test | テスト追加・修正 |
chore | ビルド・設定・依存関係の変更 |
perf | パフォーマンス改善 |
例
feat/add-dark-mode
fix/like-button-error
refactor/api-structure
docs/update-readme
chore/update-dependencies
コマンド概要
Worktree作成(推奨フロー)
# 1. worktreesディレクトリの確認・作成
ls worktrees 2>/dev/null || mkdir -p worktrees
# 2. 新しいブランチとworktreeを同時に作成
git worktree add worktrees/<branch-name> -b <type>/<short-description>
# 3. 【必須】Claude設定のシンボリックリンクを作成(絶対パスを使用)
# この手順は必ず実行すること。スキップ不可。
# メインリポジトリのルートディレクトリを取得
MAIN_REPO=$(git worktree list --porcelain | grep -m 1 "worktree" | cut -d' ' -f2)
# 既存のsettings.local.jsonを削除してからシンボリックリンクを作成
rm -f worktrees/<branch-name>/.claude/settings.local.json
ln -s "${MAIN_REPO}/.claude/settings.local.json" worktrees/<branch-name>/.claude/settings.local.json
# 例: feat/add-dark-mode ブランチとworktreeを作成
git worktree add worktrees/add-dark-mode -b feat/add-dark-mode
# 【必須】シンボリックリンク作成(この手順を忘れないこと)
MAIN_REPO=$(git worktree list --porcelain | grep -m 1 "worktree" | cut -d' ' -f2)
rm -f worktrees/add-dark-mode/.claude/settings.local.json
ln -s "${MAIN_REPO}/.claude/settings.local.json" worktrees/add-dark-mode/.claude/settings.local.json
Worktree一覧表示
git worktree list
Worktree削除
# worktreeを削除(ブランチは残る)
git worktree remove worktrees/<worktree-name>
# worktreeをprune(不要な参照を削除)
git worktree prune
既存ブランチでworktree作成
git worktree add worktrees/<worktree-name> <existing-branch>
実行手順
- ユーザーの作業内容を確認する
- 適切なブランチ名を決定する(type/short-description形式)
- worktreeを作成する
- メインリポジトリのパスを取得する(
git worktree list --porcelainを使用) - 【必須】既存のsettings.local.jsonを削除してから、Claude設定のシンボリックリンクを絶対パスで作成する(settings.local.jsonをメインリポジトリから参照)。この手順は必ず実行すること。
- 作成したworktreeのパスを報告する
- 作業完了後、worktreeの削除を案内する
ディレクトリ構造
blog/
├── (メインリポジトリのファイル群)
├── .gitignore # worktrees/ を除外済み
└── worktrees/
├── add-dark-mode/ # feat/add-dark-mode
├── fix-like-button/ # fix/like-button-error
└── refactor-api/ # refactor/api-structure
注意事項
- worktreeのディレクトリ名はブランチ名のshort-description部分を使用する
- 同じブランチで複数のworktreeは作成できない
- 作業完了後は
git worktree removeでworktreeを削除すること - マージ後はブランチも削除すること
.claude/settings.local.jsonはシンボリックリンク(絶対パス)でメインリポジトリと共有される(MCP/コマンド/スキルの許可設定が全worktreeで同期される)- シンボリックリンクは必ず絶対パスで作成すること(相対パスでは正しく動作しない場合がある)
git worktree add実行時にGitが自動的に.claude/settings.local.jsonをコピーするため、シンボリックリンク作成前に既存ファイルを削除する必要がある
Score
Total Score
65/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
✓LICENSE
ライセンスが設定されている
+10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
✓最近の活動
1ヶ月以内に更新
+10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
✓タグ
1つ以上のタグが設定されている
+5
Reviews
💬
Reviews coming soon


