跳到主要内容

代码仓库分支管理功能需求文档

一、需求背景

为满足研发团队规范化的代码管理诉求,需开发一套轻量级的代码仓库分支管理工具/功能模块,支持对 Git 代码仓库的分支进行标准化操作,本次需求主要用于测试 skill.md 中分支管理相关能力的覆盖度与落地效果。

二、核心功能需求

1. 分支基础查询

  • 支持查询指定代码仓库的所有本地分支,输出分支名称、最后提交时间、最后提交人;
  • 支持查询指定代码仓库的所有远程分支,并标注分支是否与本地同步;
  • 支持按分支名称模糊搜索(如输入 "feature" 可筛选出所有包含该关键词的分支)。

2. 分支创建规范

  • 分支创建需遵循固定命名规范:
    • 功能开发分支:feature/[需求编号]-[功能名称](例:feature/REQ001-user-login);
    • 修复bug分支:bugfix/[bug编号]-[问题描述](例:bugfix/BUG002-order-calc-error);
    • 发布分支:release/[版本号](例:release/v1.2.0);
    • 紧急修复分支:hotfix/[紧急问题编号]-[问题描述](例:hotfix/HF001-payment-timeout);
  • 创建分支时需校验命名规范,不符合则提示错误并拒绝创建;
  • 创建分支时需指定基准分支(默认基于 main/master 分支,也可手动选择其他分支)。

3. 分支合并与删除

  • 支持将指定分支合并到目标分支(如将 feature 分支合并到 develop 分支),合并前需校验:
    • 目标分支是否为受保护分支(main/master 分支仅允许通过 MR/PR 合并,禁止直接合并);
    • 合并前是否存在代码冲突,有冲突则输出冲突文件及冲突位置;
  • 支持删除本地无用分支,删除前需校验:
    • 分支是否已合并到基准分支,未合并则给出二次确认提示;
    • 禁止删除当前检出的分支;
  • 支持删除远程无用分支,删除前需校验分支是否被标记为「保护分支」,保护分支禁止删除。

4. 分支状态校验

  • 校验本地分支与对应远程分支的提交差异(本地领先/落后远程的提交数);
  • 校验分支是否符合团队规范(命名、是否长期未更新等),对超过 30 天未更新的非保护分支给出「待清理」标记。

三、非功能需求

  1. 兼容性:支持主流操作系统(Windows/Linux/macOS),兼容 Git 2.0 及以上版本;
  2. 易用性:提供命令行交互方式,输出信息清晰易懂,错误提示需明确解决方案;
  3. 性能:查询 100 个以内分支时,响应时间不超过 2 秒;
  4. 安全性:禁止直接操作 main/master 分支的代码推送/删除,需有操作日志记录。