ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Git worktree 多分支并行开发完全教程:从建隔离工作区到分支清理的五步走

Git worktree 多分支并行开发完全教程:从建隔离工作区到分支清理的五步走 Git worktree 多分支并行开发完全教程从建隔离工作区到分支清理的五步走【免费下载链接】superpowersAn agentic skills framework software development methodology that works.项目地址: https://gitcode.com/GitHub_Trending/su/superpowersSuperpowers 是 Claude Code 的 Agent 技能库其中的 using-git-worktrees 技能把多分支并行开发里重复且易错的环节——选目录、写忽略规则、按技术栈装依赖、跑基线测试——都接管了过去让你从要开新需求直接走到开始写代码。别再反复 stash 和 checkout让每个需求有自己的独立目录当你在 main 上写登录需求、支付模块又冒出个 bug 时老办法是 stash、checkout、切过去、完事再切回来每次切换都要在脑子里重建上下文未提交的改动还容易混进另一个需求。git worktree 给每个分支一个独立的检出目录多个分支在磁盘上并存各自有各自的依赖与测试结果。下面这套流程来自 Superpowers 技能库里的两个技能using-git-worktrees完整规则见 skills/using-git-worktrees/SKILL.md和 finishing-a-development-branch。先确认工作区你是否已经处于隔离环境中动手前它先做一件常被忽略的事判断当前目录是不是一个已链接的 worktree。做法是比对git rev-parse --git-dir与--git-common-dir的输出两者不一致说明你已在隔离环境里直接跳过创建。子模块也会让这两个值不一致所以它还会用--show-superproject-working-tree二次确认排除误判。如果是普通检出且你没预设过偏好它会先征求同意再动手。选定 worktree 目录并确认它不会进仓库建目录时按固定优先级挑选你显式声明过的偏好比如写在项目指令文件里 项目里已存在的.worktrees或worktrees目录两者都有时取隐藏目录 仓库根目录下默认的.worktrees/。关键的安全动作是验证该目录确实在忽略名单里git check-ignore -q .worktrees 2/dev/null || git check-ignore -q worktrees 2/dev/null这一行没命中时它会把目录自动写进 .gitignore 并提交这个改动工作树里产出的代码和构建物就不会随你下次提交混进仓库。一条命令创建隔离工作树目录定好后创建只有一行git worktree add .worktrees/auth -b feature/auth目录、新分支、代码检出一次到位分支名直接取自需求本身比如 feature/auth、bugfix/login-issue团队命名自然就统一了。如果平台自带原生 worktree 工具如 EnterWorktree它会优先走那条路原生工具负责落位与后续清理手动 add 反而留下宿主看不见的状态。按语言栈自动装依赖再跑一轮基线测试进入新目录后它按文件识别技术栈Node 项目跑 npm installRust 跑 cargo buildPython 按 requirements.txt 装包或走 pyproject.toml 对应的 poetry installGo 则执行 go mod download。装完立即跑对应测试套件npm test / cargo test / pytest / go test ./...全绿就报worktree 就绪、基线干净可以开工。有失败时它先把失败清单摆出来问你继续还是排查避免把基线的问题算到今天的改动头上。开发完成后选择合并或提 PR全套测试转绿后finishing-a-development-branch 技能细节见 skills/finishing-a-development-branch/SKILL.md给出三个选项本地合并回基线、推送并开 PR、或分支原样保留。合并前它会和你确认基线分支也就是这个功能当初从哪里分叉出来的因为合错基线回退的代价很高。选本地合并时它先 merge、再对合并结果复跑一遍测试转绿才清理git worktree remove .worktrees/auth git worktree pruneremove 删掉目录及其注册信息prune 顺手清掉残留的陈旧条目随后 feature 分支也会被git branch -d删除。选 PR 路线时工作树会保留评审意见还要在里面逐条修。三个容易踩的坑 沙箱拦住了创建git worktree add因权限被拒时不要反复重试它会说明情况并改在当前目录工作环境配置和基线测试照常执行。开 PR 后别急着清场评审期工作树留着等代码真正合并、分支删掉之后才移除丢弃工作只有在你明确打出确认词时才会执行。只清理自己创建的工作树仅处理位于.worktrees/或worktrees/下的目录外部托管的如 detached HEAD 状态工作树属于宿主环境不动平时用git worktree list看一眼全局状态即可。开始如果你现在就在一个工作树上同时扛着多个需求下次换这个流程让技能先检测环境、装好依赖、把基线跑绿再动第一行代码。git clone https://gitcode.com/GitHub_Trending/su/superpowers【免费下载链接】superpowersAn agentic skills framework software development methodology that works.项目地址: https://gitcode.com/GitHub_Trending/su/superpowers创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表