使用 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 中执行任务,确保主分支的干净和安全。
核心工作流
-
确定工作区位置:
- 优先检查是否存在
.worktrees/(隐藏目录)或worktrees/。 - 检查
CLAUDE.md中是否有定义的目录偏好。 - 若均无,则询问用户选择本地隐藏目录或全局配置目录。
- 优先检查是否存在
-
安全验证(关键步骤):
- 如果选择项目本地目录,必须运行
git check-ignore确认该目录已在.gitignore中。 - 若未忽略,AI 将自动将其添加到
.gitignore并提交,防止工作区内容被意外提交到仓库。
- 如果选择项目本地目录,必须运行
-
创建与初始化:
- 使用
git worktree add <path> -b <branch>创建新分支工作区。 - 自动检测项目类型(Node.js, Rust, Python, Go 等)并运行相应的依赖安装命令(如
npm install或cargo build)。
- 使用
-
基线验证:
- 在新工作区运行项目测试,确保在该分支上的初始状态是干净且通过的。
-
交付报告:
- 输出工作区的绝对路径、测试通过情况,并确认准备好实施具体功能。
下载和安装
下载 using-git-worktrees 中文版 Skill ZIP
解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md。
你可能还需要
暂无推荐