尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

Git worktree 隔离开发指南:AI 自动建工作区、跑基线、清分支的完整流程

Git worktree 隔离开发指南:AI 自动建工作区、跑基线、清分支的完整流程 Git worktree 隔离开发指南AI 自动建工作区、跑基线、清分支的完整流程【免费下载链接】superpowersAn agentic skills framework software development methodology that works.项目地址: https://gitcode.com/GitHub_Trending/su/superpowersAI 编码代理直接在 main 分支上改文件工作目录里还有改到一半的代码每次切分支都得 stash 十分钟。Git worktreegit 官方提供的一个分支对应一个独立目录的功能能化解这类并行开发的冲突而 Superpowers 这套面向 AI 开发代理的技能库会自动替你完成 worktree 的创建、依赖安装、基线测试和开发后清理。从 0 到第一个隔离工作区3 分钟上手先克隆技能库到本地方便随时查看任意技能的实际文本git clone https://gitcode.com/GitHub_Trending/su/superpowers接下来这条命令把技能装进 Claude Code装完后每次新会话技能都会自动生效无需手动唤醒Codex CLI、Gemini CLI、Cursor 等工具在各自的市场里搜 superpowers 同样安装/plugin install superpowersclaude-plugins-official验证方式很直接在任意项目里说一句给这个项目加一个登录功能。代理会先走设计流程brainstorming 技能设计确认后自动创建 worktree、安装依赖、跑基线测试并输出Worktree ready加测试结果的报告。看到这份报告就可以放心让它开工了全程你不用手敲任何 git 命令。同时改两个功能互不干扰让代理在独立 worktree 里干活场景你正在修登录页代理同时在搭导出功能。同一个检出目录里这两件事会互相踩线。using-git-worktrees技能干的事可以拆成三步。先探测再动手如果当前已经在 linked worktree 里它不会重复嵌套如果处在 git submodule主仓库里挂着的子仓库里则按普通仓库处理。挑工具优先用平台自带的工作区工具比如叫EnterWorktree之类的命令没有原生工具时才回退到下面这条 git 命令一行同时完成新目录 新分支git worktree add .worktrees/auth -b feature/auth兜住安全和环境创建前用git check-ignore -q .worktrees确认目录已被忽略没忽略就自动写进 .gitignore 并提交防止 worktree 内容混进主仓库创建后按项目类型装依赖package.json对应 npm installgo.mod对应 go mod download其余类推再跑一遍测试确认基线是绿的红了就停下来问你要不要继续。效果对比做之前切分支靠 checkout半成品代码反复 stashAI 代理还可能直接动你正在用的检出目录做之后每个功能各占一个目录、各挂一个分支依赖独立安装、基线测试独立验证一边测试红了也不影响另一边收尾不留烂摊子分支合并与 worktree 清理怎么走功能做完、测试全绿之后麻烦其实才刚开始合回主干还是发 PR那个 worktree 目录又该怎么删finishing-a-development-branch技能按六步走。先跑全量测试——有任何红灯就停下修绿灯亮了才出菜单。接着判断当前环境普通仓库或命名分支 worktree 给三个选项本地合回基础分支 / 推送并创建 PR / 原样保留detached HEADHEAD 不指向任何分支的状态只给两个选项不含本地合并。合并前还会跟你确认一次基础分支理由很实在合错基线回退的代价很高。清理的时机很克制。只有本地合并成功、合并结果再跑一次测试通过后才执行下面两行第一行删目录第二行扫掉过期的注册信息git worktree remove .worktrees/auth git worktree prune选创建 PR时 worktree 会刻意保留因为后续评审意见还要在这个目录里修。若你想丢弃整个分支代理必须逐项列出将被删除的提交并等你亲手输入discard才执行——一句嗯删了吧不算数。效果对比做之前手动删目录、忘删分支、git 里残留过期记录做之后决策以菜单形式出现清理一次到位不在.worktrees/或worktrees/下的工作树被视为宿主环境的代理不碰进阶两个不显眼但省事的细节在 CLAUDE.md 里写死 worktree 位置目录选择有明确优先级指令文件中声明的偏好高于项目里已存在的.worktrees或worktrees目录再往后才是默认值.worktrees/。在 CLAUDE.md 里写一句worktree 统一放 /data/worktrees代理会照做而不再询问对话里表达过的偏好同样会被记住不会每次都重复征求同意。用一个环境变量关掉遥测brainstorming 的可视化伴侣默认从官方站点加载一个 logo只携带 Superpowers 的版本号不含项目内容、提示词或点击信息。介意的话把环境变量SUPERPOWERS_DISABLE_TELEMETRY设为任意真值即可关闭它同样尊重 Claude Code 的DISABLE_TELEMETRY开关。worktree 常见坑位现象、原因与处理办法现象原因处理办法.worktrees目录出现在 git status 里项目本地目录没被忽略规则覆盖用git check-ignore -q .worktrees验证未忽略就补进 .gitignore 并提交这套流程 Superpowers 会自动做代理放弃创建 worktree直接在当前目录干活沙箱拒绝了git worktree add的权限它会自动降级为就地开发并说明原因不用手动重试也不用改配置新建的工作树跑基线测试就是红的主干本身带着历史遗留的失败用例先修主干再开工或明确告诉它带伤继续脏基线会让之后每个失败都说不清来源看着像在 worktree 里实际只是 submoduleGIT_DIR 与 GIT_COMMON 在子模块里同样不相等用git rev-parse --show-superproject-working-tree区分技能里已内置这道守卫Superpowers 把多分支并行从一串手动 git 命令变成代理自觉执行的检查清单你只在关键节点拍板。想核对每一步的实际行为从skills/using-git-worktrees/SKILL.md读起最直观整个 superpowers 仓库里所有技能文本都是公开的。【免费下载链接】superpowersAn agentic skills framework software development methodology that works.项目地址: https://gitcode.com/GitHub_Trending/su/superpowers创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表