using-git-worktrees

在开始需要与当前工作区隔离的功能开发或在执行实施计划之前使用——创建隔离的 Git 工作树,提供智能目录选择与安全校验。

作者

安装

热度:59

下载并解压到你的 skills 目录

复制命令,发送给智能体自动安装:

下载并安装这个技能 https://openskills.cc/api/download?slug=obra-skills-using-git-worktrees&locale=zh&source=copy

using-git-worktrees 技能详解

技能概述

using-git-worktrees 是一个专门用于创建和管理 Git 隔离工作区的 Claude 技能,帮助开发者在开始功能工作或执行实现计划前建立独立的开发环境,实现真正的多分支并行开发而无需频繁切换分支。

适用场景

  • 需要隔离的功能开发:当你要开始一个新的功能开发任务,希望与当前工作空间完全隔离,避免分支切换带来的代码冲突和状态混乱时。
  • 执行实现计划前:在使用 brainstorming、subagent-driven-development 或 executing-plans 等技能执行具体任务前,必须先使用本技能创建隔离的工作环境,确保开发工作的可追溯性和安全性。
  • 多分支并行开发:当你需要同时在多个分支上工作,比如一边开发新功能一边处理热修复,或者在代码审查期间继续其他功能的开发,使用 Git worktrees 可以让你拥有多个独立的开发环境。
  • 核心功能

  • 智能目录选择与优先级管理

  • - 自动检查现有的 worktrees 目录(优先使用 .worktrees/worktrees/
    - 查阅项目 CLAUDE.md 中的目录偏好设置
    - 在未找到配置时智能询问用户选择项目本地或全局位置
    - 遵循明确的优先级顺序:现有目录 > CLAUDE.md 配置 > 用户选择

  • 安全验证与环境保护

  • - 在创建项目本地 worktree 前自动验证目录是否被 .gitignore 忽略
    - 如果目录未被忽略,自动添加到 .gitignore 并提交更改
    - 防止意外提交 worktree 内容到主仓库
    - 全局目录位置(~/.config/superpowers/worktrees)无需验证,完全独立于项目

  • 自动化项目设置与基线验证

  • - 自动检测项目类型并运行相应的依赖安装(Node.js、Rust、Python、Go)
    - 在 worktree 创建后自动运行测试套件验证干净的基线
    - 如果测试失败,明确报告并询问是否继续
    - 提供完整的位置报告和就绪状态确认

    常见问题

    Git worktrees 是什么?有什么用?

    Git worktrees 是 Git 的一个功能,允许你创建多个独立的工作目录,这些目录共享同一个 Git 仓库对象数据库。这意味着你可以在不同的目录中同时处理不同的分支,而不需要每次都切换分支或克隆多个仓库副本。使用 git worktrees,你可以一边在主分支上处理热修复,同时在另一个 worktree 中开发新功能,两者完全独立,互不影响。

    如何创建和使用 git worktree?

    使用本技能时,系统会自动按照标准化流程创建 worktree:首先检查现有目录和配置,然后验证安全性,接着创建 worktree 并自动运行项目设置(如 npm install),最后验证测试基线。你只需要在开始功能工作前调用本技能,系统会自动完成所有配置。手动创建的基本命令是 git worktree add <路径> -b <分支名>,但本技能提供了完整的自动化流程和安全验证。

    使用 git worktree 会影响主仓库吗?

    完全不会。worktree 创建的工作目录与主仓库是独立的,它们共享 Git 对象数据库但有自己的工作文件和索引。你在 worktree 中的提交会正常同步到 Git 仓库,但工作文件是隔离的。使用本技能时,系统还会确保 worktree 目录被 .gitignore 忽略,防止意外提交 worktree 的内容到主仓库。当你完成工作后,可以使用 git worktree remove 删除 worktree,这不会影响主仓库和其他 worktree。