mcpField
G
git-worktree

git-worktree

github.com/kimny1143开发63 次安装
代码仓库

关于 git-worktree

git-worktree 是一份使用 Git worktree 管理多个工作目录的操作指南,适合需要并行处理多个分支的开发者。内容涵盖 worktree 的创建、查看、移除及清理,并给出功能开发、热修复和 PR 审查的工作流示例。

主要功能

  1. 01创建新分支或现有分支的 worktree
  2. 02列出并检查工作目录
  3. 03移除 worktree 并清理孤立记录
  4. 04覆盖功能开发、热修复和 PR 审查

适用场景

  1. 01并行开发多个功能分支
  2. 02开发期间处理生产环境热修复
  3. 03在独立目录审查 PR 分支
  4. 04清理已合并或孤立的 worktree

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/kimny1143/claude-code-template --skill git-worktree

安装后在 Claude Code 中输入/git-worktree确认已加载。

详细介绍

来自项目 README

git-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
注意点
  1. 同じブランチを複数 worktree で開けない
  2. node_modules は各 worktree で別途インストール必要
  3. .env ファイルもコピーが必要

トラブルシューティング

"already checked out" エラー
# 別の worktree で使用中のブランチ
git worktree list  # どこで使われているか確認
孤立した worktree
# ディレクトリを手動削除した場合
git worktree prune
ブランチ削除時
# worktree で使用中のブランチは削除できない
# 先に worktree を削除する
git worktree remove ../project-feature
git branch -d feature

评论

支持 Markdown