使用 Git Worktrees 实现多分支并行开发

解决在不同 Git 分支间频繁切换导致的上下文丢失和构建缓存失效问题:通过创建隔离的物理工作区,让 AI 为每个任务并行配置独立的环境。

为什么需要这个技能

在传统的 Git 工作流中,如果你正在开发一个功能分支,突然需要去修复一个紧急 Bug,你必须先 git stash 暂存当前更改,然后 git checkout 切换分支。这不仅破坏了开发心流,还可能导致 IDE 索引失效或需要重新编译项目(尤其是 Rust 或 C++ 等大型项目)。

git worktree 允许你在同一个仓库中创建多个隔离的工作目录。每个目录对应一个不同的分支,它们共享同一个 .git 历史,但拥有独立的物理文件空间。这意味着你可以同时打开两个 IDE 窗口,一个在做功能开发,另一个在修复 Bug,互不干扰。

适用场景

  • 紧急 Bug 修复:在不破坏当前复杂开发进度的情况下,快速开辟新空间修复生产问题。
  • 多版本并行比对:需要在两个分支之间直接对比代码运行结果或 UI 表现。
  • 长时间构建项目:避免因为切换分支导致依赖项(如 node_modules)被删除而需要重新安装。
  • AI 自动化开发:AI 可以在独立的 Worktree 中执行任务,确保主分支的干净和安全。

核心工作流

  1. 确定工作区位置

    • 优先检查是否存在 .worktrees/(隐藏目录)或 worktrees/
    • 检查 CLAUDE.md 中是否有定义的目录偏好。
    • 若均无,则询问用户选择本地隐藏目录或全局配置目录。
  2. 安全验证(关键步骤)

    • 如果选择项目本地目录,必须运行 git check-ignore 确认该目录已在 .gitignore 中。
    • 若未忽略,AI 将自动将其添加到 .gitignore 并提交,防止工作区内容被意外提交到仓库。
  3. 创建与初始化

    • 使用 git worktree add <path> -b <branch> 创建新分支工作区。
    • 自动检测项目类型(Node.js, Rust, Python, Go 等)并运行相应的依赖安装命令(如 npm installcargo build)。
  4. 基线验证

    • 在新工作区运行项目测试,确保在该分支上的初始状态是干净且通过的。
  5. 交付报告

    • 输出工作区的绝对路径、测试通过情况,并确认准备好实施具体功能。

下载和安装

下载 using-git-worktrees 中文版 Skill ZIP

解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md

你可能还需要

暂无推荐