用途:当需要与当前工作区隔离地开发新功能或做实验性改动时,用该技能通过 Git worktree 创建独立工作目录,并完成 Flutter 项目初始化。
主要能力:从主仓库创建 worktree(可新建分支);每个 worktree 拥有独立的 .dart_tool、pubspec.lock 与构建缓存;可在不同 worktree 中并行运行 iOS 模拟器、Android 模拟器或 Web 服务而不冲突;支持并排比较实现;便于后台运行长时间测试。
使用方式:
- 创建:git worktree add ../flutter-app-feature-auth feature/auth,或 git worktree add -b feature/auth ../flutter-app-feature-auth main;命名约定为 ../[项目名]-[功能名]。
- 进入目录:cd ../flutter-app-feature-auth。
- Flutter 初始化(关键):flutter pub get;flutter doctor;如使用代码生成,运行 dart run build_runner build --delete-conflicting-outputs。
- 验证:flutter analyze、flutter test。
- 在隔离目录中按正常流程开发。
- 清理:回到主仓库后 git worktree remove ../flutter-app-feature-auth;若分支已合并直接删除,若放弃可用 git branch -D feature/auth。
适用场景:新功能隔离开发、实验性改动、方案对比、保持主工作区干净、后台跑长时间测试。
限制与注意:新建 worktree 后务必执行 flutter pub get,否则依赖不完整;不要在期望 worktree 变更时误改主仓库;不要手动删除 worktree 目录,应使用 git worktree remove;避免在 IDE 中同时从主仓库与 worktree 打开同一文件。排查可用 git worktree list 和 git worktree prune。该技能可与 flutter-brainstorming、flutter-planning、flutter-executing 等技能配合使用。资料未提供具体收费、平台版本要求等信息。