standard/git_management_spec.md
2025-03-07 09:45:22 +08:00

152 lines
4.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Git分级与项目管理规范文档
## 一、Git分级体系
### 1. 个人仓库Personal Repositories
- **权限**:开发者私有,可设置公开/内部/私有
- **用途**
- 个人代码片段
- 实验性项目
- 未公开的研究成果
- **管理策略**
- 需关联公司邮箱
- 禁止存放敏感数据
- 每季度清理无效仓库
### 2. 团队仓库Team Repositories
- **权限**:团队成员可读写,外部人员只读
- **用途**
- 部门级工具开发
- 共享研究成果
- 跨项目组件
- **管理策略**
- 团队负责人审批加入
- 每周同步更新日志
- 需绑定Jira项目看板
### 3. 项目仓库Project Repositories
- **权限**:项目组成员按角色分配(开发/测试/运维)
- **用途**
- 量化策略实盘系统
- 核心交易平台
- 数据处理流水线
- **管理策略**
- 强制代码审查2人+
- 生产分支双因素认证
- 每日自动化测试报告
### 4. 组织仓库Organization Repositories
- **权限**:公司级管理员控制
- **用途**
- 基础架构代码
- 合规性文档
- 公司级工具链
- **管理策略**
- 提交需经过审计
- 所有分支加密存储
- 变更需提前3天报备
## 二、项目管理规范
### 1. 项目分类
| 类型 | 特点 | 分支策略 | 保护机制 |
|-------------|-------------------------------|-------------------|-----------------------|
| 核心项目 | 影响实盘交易 | Git Flow | 生产分支只读 |
| 实验性项目 | 策略验证阶段 | GitHub Flow | 每日自动销毁测试环境 |
| 工具类项目 | 通用组件开发 | Trunk-Based | 版本语义化控制 |
### 2. 分支命名规范
```bash
# 示例:
feature/20250307-strategy-improvement # 功能分支
hotfix/20250307-trading-bugfix # 紧急修复
release/v2.3.1 # 发布分支
```
### 3. 代码审查流程
1. 开发者提交Pull Request
2. 自动触发单元测试(覆盖率需>90%
3. 技术负责人审核架构设计
4. 风险控制部门审查合规性
5. 合并后自动生成CHANGELOG
## 三、仓库管理细则
### 1. 仓库初始化模板
- 必须包含:
- LICENSE文件MIT/公司专有)
- README.md含架构图、部署说明
- .gitignore含Python/R/Java等配置
- CI/CD配置文件GitHub Actions示例
### 2. 仓库维护周期
| 类型 | 维护频率 | 保留期限 |
|-------------|------------|------------|
| 活跃项目 | 每日备份 | 永久 |
| 归档项目 | 每周扫描 | 5年 |
| 废弃项目 | 立即冻结 | 1年 |
### 3. 权限回收机制
- 员工离职时:
1. 立即禁用仓库访问权限
2. 72小时内转移代码所有权
3. 30天内彻底删除个人贡献记录
## 四、组织管理架构
### 1. 角色矩阵
| 角色 | 权限范围 | 职责 |
|---------------|-------------------------|-------------------------------|
| 公司管理员 | 所有仓库读写+权限分配 | 制定全局策略 |
| 项目负责人 | 项目仓库完全控制 | 代码质量监管 |
| 安全审计员 | 只读+日志查询 | 监控异常操作 |
| 普通开发者 | 按项目授权 | 提交符合规范的代码 |
### 2. 协作流程
```mermaid
graph TD
A[开发者提交代码] --> B{自动化检查}
B -->|通过| C[代码审查]
B -->|失败| D[返回修改]
C --> E{风险评估}
E -->|通过| F[合并到主分支]
E -->|拒绝| D
F --> G[触发生产部署]
```
## 五、工具链集成方案
1. **CI/CD**
- GitLab CI/CD用于量化策略回测
- Jenkins Pipeline管理交易系统部署
2. **文档协作**
- Confluence关联仓库README
- MkDocs生成API文档
3. **监控系统**
- Prometheus监控代码提交频率
- Grafana展示仓库健康度指标
## 六、最佳实践
1. 每周五进行代码质量抽查
2. 每月发布《仓库健康度报告》
3. 每季度组织Git安全培训
4. 每年更新《敏感代码扫描规则》
## 附录:示例配置
```yaml
# .github/workflows/security-check.yml
name: Security Scan
on: [push]
jobs:
detect-secrets:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: pip install detect-secrets
- run: detect-secrets scan --update .secrets.baseline
```