关于 git-worktree
git-worktree 是一份使用 Git worktree 管理多个工作目录的操作指南,适合需要并行处理多个分支的开发者。内容涵盖 worktree 的创建、查看、移除及清理,并给出功能开发、热修复和 PR 审查的工作流示例。
主要功能
- 01创建新分支或现有分支的 worktree
- 02列出并检查工作目录
- 03移除 worktree 并清理孤立记录
- 04覆盖功能开发、热修复和 PR 审查
适用场景
- 01并行开发多个功能分支
- 02开发期间处理生产环境热修复
- 03在独立目录审查 PR 分支
- 04清理已合并或孤立的 worktree
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ kimny1143/ claude-code-template --skill git-worktree安装后在 Claude Code 中输入/git-worktree确认已加载。
详细介绍
来自项目 READMEgit-worktree - Git Worktree 操作
複数ブランチを同時に作業するための Git worktree 管理。
概要
Git worktree を使うと、1つのリポジトリから複数の作業ディレクトリを作成できる。
メリット:
- ブランチ切り替えなしで複数機能を並行開発
- PRレビュー中に別作業が可能
- 本番ホットフィックスと開発を同時進行
基本コマンド
Worktree 作成
# 新規ブランチで作成
git worktree add ../project-feature-x feature-x
# 既存ブランチで作成
git worktree add ../project-hotfix hotfix/urgent-fix
# リモートブランチをチェックアウト
git worktree add ../project-review origin/feature-y
Worktree 一覧
git worktree list
出力例:
/path/to/project abc1234 [main]
/path/to/project-feature def5678 [feature-x]
/path/to/project-hotfix ghi9012 [hotfix/urgent-fix]
Worktree 削除
# 作業ディレクトリを削除
rm -rf ../project-feature-x
# Git から登録解除
git worktree prune
または一括:
git worktree remove ../project-feature-x
ワークフロー例
1. 機能開発中にホットフィックス
# 現在: feature-x ブランチで開発中
# 緊急: 本番バグ発生
# ホットフィックス用 worktree 作成
git worktree add ../project-hotfix -b hotfix/login-fix main
# ホットフィックス作業
cd ../project-hotfix
# ... 修正 ...
git commit -m "fix: resolve login issue"
git push origin hotfix/login-fix
# 元の作業に戻る
cd ../project
# feature-x の作業を継続
2. PRレビュー
# レビュー対象のブランチを worktree で開く
git fetch origin
git worktree add ../project-review origin/feature-y
# レビュー
cd ../project-review
npm install
npm run dev
# レビュー完了後
cd ../project
git worktree remove ../project-review
ベストプラクティス
ディレクトリ命名
project/ # メイン (main)
project-feature-x/ # 機能開発
project-hotfix/ # ホットフィックス
project-review/ # PRレビュー
定期クリーンアップ
# 不要な worktree を確認
git worktree list
# マージ済みブランチの worktree を削除
git worktree remove ../project-merged-feature
# 孤立した worktree を整理
git worktree prune
注意点
- 同じブランチを複数 worktree で開けない
- node_modules は各 worktree で別途インストール必要
- .env ファイルもコピーが必要
トラブルシューティング
"already checked out" エラー
# 別の worktree で使用中のブランチ
git worktree list # どこで使われているか確認
孤立した worktree
# ディレクトリを手動削除した場合
git worktree prune
ブランチ削除時
# worktree で使用中のブランチは削除できない
# 先に worktree を削除する
git worktree remove ../project-feature
git branch -d feature
评论
支持 Markdown