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

资讯详情

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

如何不用切分支也能并行开发:Superpowers 的 Git 工作树指南

如何不用切分支也能并行开发:Superpowers 的 Git 工作树指南 如何不用切分支也能并行开发Superpowers 的 Git 工作树指南【免费下载链接】superpowersAn agentic skills framework software development methodology that works.项目地址: https://gitcode.com/GitHub_Trending/su/superpowersSuperpowers 是一个为编码 Agent 配备开发方法论的开源技能框架其中的 using-git-worktrees 技能会引导 Agent 用 Git 工作树git 原生提供的机制让同一个仓库在不同文件夹里同时检出不同分支帮你搭好隔离工作区。你不用再在分支之间来回切换同时推进多个功能的开发者会明显省事。Git 工作树是什么能帮你省掉什么场景是这样的你正让 Agent 在当前分支上写功能中途想起另一个分支有个小 bug 要先修。如果直接切分支未提交的改动会被搁置Agent 的上下文也要重建切回来又是一轮重新加载。工作树给出的思路是不切换而是多开。每个分支各自占用一个独立目录互不干扰两个功能可以同时开发、同时测试。在 Superpowers 里这套流程被封装成技能源码在skills/using-git-worktrees/。每当你开始一项需要隔离的新功能时Agent 会自动宣布它正在使用该技能然后按固定顺序完成检查、创建和初始化你只需要看结果。创建隔离工作区前Agent 先做的两项检查先检测你是否已处于隔离环境创建之前Agent 会先用 git 原生的目录信息判断你当前是否已经在一个工作树里。这一步看起来多余实际能避开两个坑一是重复创建在已有隔离环境里再套一层二是子模块误判子模块的目录结构和普通仓库不同不能直接当成已经在隔离中处理。检测通过后才会往下走如果确认在普通仓库里且没有预设偏好Agent 会先征求你的同意再动手。优先使用平台原生工作树工具如果你的 Agent 平台自带工作树工具名字类似 EnterWorktree 或 /worktree 的命令Agent 会优先用它而不是直接敲git worktree add。原因很实际原生工具负责目录放置、建分支和清理整条生命周期平台都看得见绕过它手工创建会留下平台无法管理的幽灵状态后续清理容易出问题。git 命令只是没有原生工具时的兜底方案。防止工作树污染主仓库的安全检查按优先级选择工作树存放目录目录不是随手挑的优先级依次是你在说明文件里声明过的偏好 项目里已存在的.worktrees/或worktrees/目录 默认落在项目根目录的.worktrees/。两个目录都存在时用.worktrees/。这样团队里每个人的工作树位置天然一致不用反复约定。⚠️ 这里有一道必做的安全检查工作树目录必须先确认已被 git 忽略Agent 会执行git check-ignore -q .worktrees未被忽略的目录会被先补进 .gitignore如果上面的检查发现目录没有被忽略Agent 不会带着隐患继续创建而是先把该目录写进.gitignore并提交这个改动然后才执行创建git worktree add 路径 -b 分支名这么做是为了防止一个隐蔽的事故目录没被忽略时工作树里的整个目录结构可能被当成普通文件提交进主仓库。把防患于未然固化成流程比事后清理要省心得多。自动识别项目类型并初始化新环境新工作树检出来只是一份源码依赖还没装。Agent 会根据项目里的特征文件自动选择初始化命令而不是让你自己判断项目类型识别文件自动执行的命令Node.jspackage.jsonnpm installPythonrequirements.txt/pyproject.tomlpip install -r或poetry installRustCargo.tomlcargo build找不到对应文件就跳过不会硬装。Go 项目则识别go.mod并执行go mod download。基线测试确认开发起点是干净的环境就绪后Agent 会先完整跑一遍测试套件npm test、cargo test、pytest等确认这个分支的起点本身是绿的。✅ 测试通过它才报告工作区就绪、可以开始实现如果有测试失败它会先报告失败详情并停下来问你是继续还是先调查这避免了新功能写完之后才发现是旧问题的扯皮。功能完成后的收尾合并、推送或保留开发结束后的收尾由另一个技能skills/finishing-a-development-branch/接管顺序固定先跑全量测试测试不绿就停在这里不给你选菜单测试通过后才进入下一步。合并前 Agent 会和你确认基线分支——这个分支是从 main 分出来的对吗因为合错分支的回撤成本很高。确认后它会给出三个选项合并回本地基线分支推送并创建 Pull Request先保留分支稍后自己处理选完执行对应动作并清理工作树如果是外部管理的 detached HEAD 工作区它只会给推送建 PR和保留两个选项不会擅自动别人的东西。安装 Superpowers 并管理你的工作树安装很简单先拿到仓库git clone https://gitcode.com/GitHub_Trending/su/superpowers之后按你用的平台接入即可Claude Code 可以直接从官方插件市场安装Cursor、Codex、OpenCode 等平台在仓库的README.md里都有对应说明。装好后不需要额外操作技能会自动触发。 日常只需要一条命令来盘点git worktree list。定期看一眼哪些功能已经合并、哪些目录还在占用空间清掉不再需要的工作树目录始终干净。从创建前的检查到收尾的清理每个环节都有 Agent 按流程盯着你要做的只是专注写代码本身。【免费下载链接】superpowersAn agentic skills framework software development methodology that works.项目地址: https://gitcode.com/GitHub_Trending/su/superpowers创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表