SuperAPI AI 工具集

git-workflow

办公与效率

查看项目

更新于 10-16 09:55

技能介绍

用途:该文档定义 Squad 项目的 Git 分支模型与协作流程,所有功能开发从 dev 分支开始,而非 main。

分支模型:main 仅存放已发布、打标签的 npm 代码,打标签时执行 npm publish;dev 为集成分支,所有功能合并于此,合并时执行 npm publish --tag preview;insiders 为早期访问通道,从 dev 同步,同步时执行 npm publish --tag insiders。

命名规范:Issue 分支必须使用 squad/{issue-number}-{kebab-case-slug},例如 squad/195-fix-version-stamp-bug。

单 Issue 流程:从 dev 建分支,用 gh issue edit {number} --add-label "status:in-progress" 标记进行中,创建指向 dev 的草稿 PR(gh pr create --base dev),完成后推送并使 PR 就绪(gh pr ready),合并后删除本地与远端分支。

并行多 Issue:当同时处理 2 个以上 Issue 时,用 git worktree 为每个 Issue 创建独立工作目录,命名约定为 ../{repo-name}-{issue-number},各 worktree 使用同一 .git 对象库。每个 worktree 内按单 Issue 流程操作,PR 独立指向 dev。.squad/ 目录通过 .gitattributes 的 merge=union 处理,只允许追加、不得重写或重排。合并后用 git worktree remove 与 git worktree prune 清理。

多仓库场景:将下游仓库克隆为主仓库的同级目录,各仓库独立建分支与 PR,并在 PR 描述中注明依赖关系和合并顺序(先依赖后使用方)。本地测试可用 npm link、Go 的 replace 指令、Python 的 pip install -e .,合并前必须移除本地链接。

发布晋升:dev 到 insiders 为构建通过后自动同步;dev 到 main 为手动合并并打标签;紧急修复从 main 建 hotfix/{slug},PR 到 dev,必要时 cherry-pick 到 main。

反模式:禁止从 main 建分支、PR 直接指向 main、不合规分支名、直接提交到 main 或 dev、在 worktree 活跃时切换主克隆分支、用 worktree 做跨仓库工作、合并后遗留 worktree。

限制:资料未提供其他平台或额外配置细节。