用途
git-flow-master 是项目在版本控制层上的单一入口技能,负责处理代码分支、提交、推送、拉取请求(PR)、冲突解决,以及当单个变更超出评审预算时的链式/堆叠 PR 规划。
它不假定项目只使用某一种分支模型。项目可能仅使用 main,或使用 main + staging,或采用企业级多分支布局,或使用任意常见流程(trunk-based、GitFlow、GitHub Flow、GitLab Flow)。该技能会检测当前生效的策略,并据此调整每条命令。检测具有粘性:一旦解析完成,策略会被记录到 .agents/project.yaml 的 git_strategy 块中,后续调用会跳过询问。
主要能力
该技能的每次调用都映射到以下六类操作之一(或一组):
- Branch:创建分支。解析策略,提出带前缀和问题编号的名称,等待确认后检出。
- Commit:提交。按职责分组,提出符合约定格式的提交,等待确认后逐条执行。
- Push:推送。诊断上游,若推送到受保护分支则先确认;未经用户显式同意绝不使用 --force。
- PR:创建拉取请求。根据策略选择目标分支,内联生成 PR 正文,询问标签与评审人,调用 gh pr create。
- Conflict:冲突处理。先诊断并分类,按安全性排序给出选项,优先安全中止而非猜测。
- Strategy Setup:策略设置。解析策略,运行决策问卷(Q1-Q4),按条件创建或快进同步长期分支(绝不强制),并写入 .agents/project.yaml 的 git_strategy 块。
该技能支持八种策略:solo-main、main-integration、enterprise、trunk-based、gitflow、github-flow、gitlab-flow、sdet。
策略检测按顺序应用,遇到首个确定答案即停止:先读取 .agents/project.yaml 中的 git_strategy 块;其次使用单分支/双分支/多分支启发式;再结合项目线索(如 .gitlab-ci.yml、release/、hotfix/ 分支);最后回退到询问用户。检测结果会写回 .agents/project.yaml,该文件是唯一事实来源,其 git_strategy.description 字段是面向人类的一段式摘要。用户可编辑它,下次调用会重新读取。
使用方式
每次调用时,该技能会先静默运行一组命令读取仓库状态:git status、git branch --show-current、git branch -a、git diff --stat、git log --oneline -5、git fetch origin、git status -sb、git remote -v。随后向用户汇总结当前分支、工作区是否干净(暂存/未暂存/未跟踪计数)、未推送/未拉取的提交(领先/落后上游)、上游状态以及远程名称。
每次会话中,在首次推送/PR/合并意图时(只读操作除外),会运行一次策略核对工具(bun run git:policy verify 或 --stamp),将声明的策略与托管平台实际执行的规则对比,并按需报告差异,绝不自动纠正。
在推送或 CI 文档契约门禁命名某区域时,会在同一次推送中更新其列出的每一页;仅在仍然成立时,才在取证尾注之上添加 Docs-Checked 标记。
适用场景
- 开始某个工单(如 UPEX-123)的开发。
- 提交并推送、推送至 main、上传变更。
- 对 staging 打开 PR。
- 拉取时遇到冲突。
- PR 预计会非常大,需要链式 PR 规划。
- 查询当前仓库使用的 Git 策略。
- 推送被拒绝,需要诊断与恢复。
与该技能无关的场景:测试工单、编写测试用例、编写自动化测试或运行回归套件——这些应交给 /sprint-testing、/test-documentation、/test-automation 或 /regression-testing。
限制
- 禁止强制推送、--force-with-lease、--no-verify、amend 或 rebase 已推送的提交,或改写已推送历史,除非用户显式授权且分支未被共享。
- 禁止运行仓库级丢弃(git restore .、git checkout -- .、git reset --hard、未定向的 git stash、git clean -f),因为并发会话可能共享同一工作树。只丢弃本次会话修改过的明确路径。
- 禁止 git add -A 或 git add .,需列出明确路径。
- 每次提交信息必须以 Worktree: <name|primary> 与 Session: <label> 两个取证尾注收尾(取自会话上下文中的 AGENT IDENTITY 行)。这是取证用途,非归属;禁止带有工具品牌的尾注(如 Claude-Session:、AI Co-Authored-By:)。
- 每个分支名、提交集和 PR 正文都需提出并等待显式确认后才执行。
- 在创建 PR 后停止,合并是用户的下一步,绝不自动执行。
- 当计划变更超过约 400 行改动时,需在编码前运行链式 PR 决策,并在实际 diff 超出估算时重新运行。
暂未提供
该技能的安装命令、收费与价格、支持的平台范围、效果数据等具体信息在资料中暂未提供。