用途:在需要与当前工作区隔离时,为功能开发搭建独立的 git worktree 操作基地,使多个分支可并行开发而不影响主工作区。
目录选择优先级:先检查是否已存在 .worktrees(首选,隐藏目录)或 worktrees;两者都存在时优先 .worktrees。若均不存在,则读取 AGENTS.md 中关于 worktree 目录的配置偏好并直接采用;仍无结果时向使用者询问选择项目本地 .worktrees/ 还是全局 ~/.config/gangsta/worktrees/<project-name>/。
安全校验:对于项目本地目录,创建前必须用 git check-ignore 确认目录已被 gitignore 忽略;若未被忽略,则向 .gitignore 添加相应条目、立即提交,再继续创建。全局目录因位于项目之外无需该校验。
创建流程:通过 basename 与 git rev-parse --show-toplevel 检测项目名,按所选位置确定完整路径,使用 git worktree add "$path" -b "$BRANCH_NAME" 创建新分支工作树并进入该目录。随后自动检测项目类型并运行初始化:存在 package.json 用 npm install、Cargo.toml 用 cargo build、requirements.txt 用 pip install -r、pyproject.toml 用 poetry install、go.mod 用 go mod download;无对应文件则跳过依赖安装。初始化时建议在存在锁文件的情况下优先使用锁定式安装以降低供应链风险。
基线验证与报告:用项目相应命令运行测试(npm test、cargo test、pytest、go test ./...)。测试通过则报告就绪并给出完整路径与测试数量;测试失败则如实报告失败情况,并在继续前询问是否排查。
限制与常见错误:必须避免跳过忽略校验(会导致工作树内容被跟踪、污染 git status)、臆断目录位置、在测试失败时擅自继续、硬编码初始化命令等。已知相关配套为 gangsta:exit-strategy 用于操作结束后的清理;其余平台信息暂未提供。