# 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 ```