- Debian-based api image (bookworm-slim), docker/debian mirrors, prisma binaryTargets for openssl 3.0 - nginx: admin SPA under /admin, TLS via acme.sh (ZeroSSL) + auto-renewal cron, http->https redirect - prisma: add origin_goods.delisted migration, sync missing schema (good_image/tag_font_color/good_tags), fix users.createdAt Timestamptz - api: CORS wildcard reflection, helmet CORP cross-origin, price backfill in persistProductDetail, categoryIcon ancestor fallback, mediaByColor per-color gallery in public goods detail - admin: /admin base path (vite + router) - import-data.mjs: udt_name casting, serial sequence advance fix
4.7 KiB
4.7 KiB
name, description
| name | description |
|---|---|
| enterprise-git-spec | 企业级 Git 分支管理、命名、提交与权限控制规范。当团队需要制定或查阅 Git 协作流程时使用。 |
技能概述
本技能提供了一套经过企业实战验证的 Git 协作规范,涵盖分支模型设计、命名约定、提交信息格式以及权限管控四大核心领域。通过遵循本规范,团队能够:
- 降低协作摩擦:统一的命名和流程让成员快速理解代码状态。
- 保障主干稳定:通过分支保护和强制评审机制,防止生产事故。
- 实现可追溯性:规范的提交信息与任务 ID 关联,任何变更均可回溯至需求或缺陷。
- 支撑自动化交付:规范的提交格式可直接驱动版本号生成与 CHANGELOG 自动发布。
本规范适用于使用 Git 进行源代码管理的中大型项目,尤其适合需要严格管控发布节奏与代码质量的平台型团队。
何时使用本技能
| 场景 | 说明 |
|---|---|
| 团队建立 Git 规范 | 作为团队标准化文档,统一全员协作方式。 |
| 新人入职培训 | 帮助新成员快速理解团队的代码提交流程和分支策略。 |
| 代码评审(Code Review) | 评审人可依据规范检查分支命名、提交信息是否符合要求。 |
| CI/CD 流水线配置 | 为自动化工具(如分支保护、Commitlint)提供规则依据。 |
| 发布管理 | 明确何时创建 release 分支,何时启动 hotfix 流程。 |
| 故障复盘 | 通过规范的提交历史快速定位变更引入点与责任人。 |
1. 分支管理模型 (Branching Model)
团队采用 简化版 Git Flow 模型,核心分支永久保护,临时分支按需创建并在合并后及时删除。
| 分支名称 | 生命周期 | 说明 | 创建自 | 合并回 |
|---|---|---|---|---|
main |
永久 | 生产环境代码,每次合并需打 Tag |
release/*, hotfix/* |
- |
develop |
永久 | 日常开发集成分支 | feature/*, release/*, hotfix/* |
- |
feature/* |
临时 | 新功能开发 | develop |
develop |
release/* |
临时 | 版本发布准备 | develop |
main & develop |
hotfix/* |
临时 | 生产环境紧急修复 | main |
main & develop |
流程图:
Feature ──▶ develop ◀── Release ──▶ Tag ──▶ main
▲ ▲
└─────── Hotfix ───────────┘
2. 分支命名规范 (Naming Conventions)
标准格式: <类型前缀>/[任务ID]-<简短描述>-<开发者标识>
命名元素说明
- 类型前缀(必填):
feature,bugfix,hotfix,release - 任务ID(推荐):JIRA/TAPD 编号,如
PROJ-1234 - 简短描述(必填):全小写英文,单词间用连字符
-连接 - 开发者标识(推荐):企业邮箱前缀或拼音,如
zhangsan
正确与错误示例
| 场景 | ✅ 正确 | ❌ 错误 |
|---|---|---|
| 用户登录功能 | feature/PROJ-101-user-login-lisi |
feature_login |
| 订单金额Bug修复 | bugfix/PROJ-205-fix-order-amount-wangwu |
fixBug |
| 发布 v1.3.0 | release/v1.3.0 |
release_1.3 |
| 支付回调紧急修复 | hotfix/payment-callback-error-zhaoliu |
hotfix-20241001 |
3. 提交信息规范 (Commit Message)
强制遵循 Conventional Commits 规范,格式如下:
<类型>(<可选范围>): <简短描述>
<可选:详细描述>
<可选:脚注>
提交类型 (<类型>) 枚举
| 类型 | 说明 | 触发版本变更 |
|---|---|---|
feat |
新功能 | 是(次版本号) |
fix |
Bug修复 | 是(修订号) |
docs |
文档变更 | 否 |
style |
代码格式调整 | 否 |
refactor |
重构 | 否 |
perf |
性能优化 | 是 |
test |
测试代码 | 否 |
chore |
构建/工具变动 | 否 |
ci |
CI配置变更 | 否 |
提交示例对比
| 场景 | ✅ 正确 | ❌ 错误 |
|---|---|---|
| 新增短信登录 | feat(auth): add SMS verification code login |
update code |
| 修复首页白屏 | fix(homepage): resolve white screen on iOS Safari |
fix bug |
| 更新API文档 | docs(api): update user endpoint response examples |
update doc |
MR/PR 自检清单
在发起合并请求时,开发者需确认以下事项:
- 遵循 Conventional Commits 提交规范
- 分支命名符合
类型/ID-描述格式 - 已通过本地代码格式化检查
- 本地自测通过,无新增明显缺陷
- 若涉及数据库变更,已提供回滚脚本