关于 git-worktree-manager
git-worktree-manager 是管理 Git worktree 的技能,适合需要同时处理多个分支的开发者。它涵盖创建、列出、移除和清理 worktree,并提供并行测试与代码审查的工作流示例。
主要功能
- 01从分支或提交创建 worktree
- 02以易读格式列出 worktree
- 03移除 worktree 并清理元数据
- 04锁定和解锁 worktree
- 05测试与审查工作流
适用场景
- 01在主线工作期间开发功能
- 02并行测试多个分支
- 03隔离环境中审查拉取请求
- 04清理已合并或孤立的 worktree
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ d-o-hub/ rust-self-learning-memory --skill git-worktree-manager安装后在 Claude Code 中输入/git-worktree-manager确认已加载。
详细介绍
Git 工作树管理器
管理 git 工作树,以支持并行多分支开发,同时保持主工作目录整洁。
推荐的目录结构
project/
├── main-repo/ # Main working directory
└── worktrees/ # All worktrees here
├── feature/name/
├── bugfix/name/
└── experiment/name/
核心命令
创建工作树
# From existing branch
git worktree add ../worktrees/feature-name feature-branch
# Create new branch
git worktree add -b feature/new ../worktrees/new-feature
# Detached HEAD (specific commit)
git worktree add ../worktrees/temp HEAD~5
列出工作树
git worktree list
git worktree list --porcelain # Machine-readable
移除工作树
git worktree remove ../worktrees/name # Safe (clean only)
git worktree remove --force ../worktrees/name # Force removal
git worktree prune # Clean administrative data
锁定/解锁
git worktree lock ../worktrees/name # Prevent operations
git worktree unlock ../worktrees/name
工作流模式
功能开发
git worktree add -b feature/new ../worktrees/feature/new
cd ../worktrees/feature/new
# ... develop ...
cargo test # Test in isolation
git push
cd /path/to/main && git merge feature/new
git worktree remove ../worktrees/feature/new
并行测试
for branch in feature/a feature/b; do
git worktree add ../worktrees/$branch $branch
cd ../worktrees/$branch && cargo test &
done
wait
代码审查
git worktree add ../worktrees/review/pr-123 origin/pr-123
cd ../worktrees/review/pr-123
cargo test
git worktree remove ../worktrees/review/pr-123
查找孤立的工作树
git worktree list | while read path commit branch; do
if ! git show-ref --verify --quiet "refs/heads/${branch#*/}"; then
echo "Orphaned: $path"
fi
done
最佳实践
应该做
- 在
../worktrees/目录中进行组织 - 使用基于分支的描述性名称
- 合并后清理
- 合并到 main 之前先进行测试
- 定期清理,以移除孤立数据
不应该做
- 创建在随意选择的位置
- 留下未提交的更改
- 忘记清理管理数据
- 创建相互冲突的分支
- 混用工作树和非工作树工作流
评论
支持 Markdown