feat: add China Telecom R&D project template

This commit is contained in:
v6ole
2026-07-28 22:30:20 +08:00
commit b6a1fd85d8
51 changed files with 11196 additions and 0 deletions
@@ -0,0 +1,108 @@
# 05-代码管理规范
## 1. 代码仓库设置
### 管理工具
- **【强制 C1】** 必须使用 Git 管理代码
### 命名规范
- **【强制 C1】** 名称仅使用英文字母、数字、中划线(`-`);首字符仅为字母
- **【强制】** 禁止使用下划线 `_` 和特殊字符
- **【强制 C1】** 项目内全部仓库命名规则必须一致(全驼峰/全大写/全小写选一种)
### 必要文件
- **【强制 C1】** 每个项目必须有 `README.md`(包含工程介绍、结构说明、文档地址)
- **【强制 C1】** 除文档仓库外,必须有 `.gitignore`
### 仓库划分
- **【强制 C1】** 核心代码和非核心代码分库管理
- **【强制 C1】** 每个仓库仅使用一种技术栈
- **【推荐 C0】** 每个仓库不超过 5 个微服务
### 仓库大小
- **【强制 C1】** 每个仓库不超过 1GB
### 权限设置
- **【强制 C1】** 遵循权限最小化原则
- **【强制 C1】** 仅项目负责人/管理员可创建仓库
- **【强制 C1】** 离职/离开团队必须收回权限
- **【强制 C1】** 仓库管理员不超过 3 人
- **【强制 C1】** 禁止外协开发人员设为仓库管理员
- **【推荐 C0】** 严格控制 master/develop 分支写权限
---
## 2. 分支设置
### 必要分支
- **【强制 C1】** 必须有主干分支(master
### Git Flow 工作流(推荐 C0
| 分支类型 | 名称格式 | 说明 |
|----------|----------|------|
| 主干分支 | `master` | 对外稳定发布版本 |
| 开发分支 | `develop` | 包含全部最新特性 |
| 紧急修复 | `hotfix-*` | 以 master TAG 为基础修复 |
| 集成测试 | `release-*` | 以 develop 为基础,验收后合入 master |
| 功能分支 | `feature-*` | 以 develop 为基础,完成后删除 |
### 代码评审
- **【强制 C3】** 所有提交必须经过代码评审
- **两种模式**:单分支 code review 或多分支 merge request
---
## 3. 开发人员操作规范
### 用户信息设置
- **【强制 C1】** 须与远端仓库账号、邮箱一致
- "【强制 C1】** 密码不少于 8 位,包含数字、大小写字母及特殊符号
### Commit 规范
- **【强制 C1】** 保持清晰的 commit 历史
- **【强制 C1】** 推送前合并精简 commit(一个任务不超过 5 个 commit)
### Commit Message 格式(C3
```
type(scope): subject
%workItemId
```
| type | 含义 |
|------|------|
| `feat` | 新功能 |
| `fix` | 修复 bug |
| `docs` | 文档变更 |
| `style` | 代码格式 |
| `refactor` | 重构 |
| `perf` | 性能优化 |
| `test` | 增加测试 |
| `build` | 构建工具变更 |
| `revert` | 撤销提交 |
| `chore` | 辅助工具变动 |
示例:`%1011 fix(core): set a to b`
### 代码文件约束(C0
- **【强制】** 不允许提交含数据库账号、密码等敏感信息的文件
- **【强制】** 不允许提交与项目无关的二进制文件
- **【强制】** 单个文件不超过 10MB
- **【强制】** 第三方依赖包必须引用制品库,不得直接放入仓库
- **【强制】** 不允许提交 pdf/doc/ppt/xls/压缩包/音视频等文件
---
## 4. 代码版本管理
### 版本号
- **【强制 C1】** 发布版本必须打 tag
- **【强制 C2】** 版本号格式:`X.Y.Z`(主版本.次版本.修订号)
- 主版本号:不兼容的 API 修改
- 次版本号:向下兼容的功能新增
- 修订号:向下兼容的问题修正
- **【强制 C1】** 制品版本号与代码版本号一致
### 版本信息
- **【强制 C3】** Tag Message 记录版本日期、说明
- **【强制 C3】** Release Notes 记录 feature、fixed、关联任务