代码仓库分支管理功能需求文档
一、需求背景
为满足研发团队规范化的代码管理诉求,需开发一套轻量级的代码仓库分支管理工具/功能模块,支持对 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 天未更新的非保护分支给出「待清理」标记。
三、非功能需求
- 兼容性:支持主流操作系统(Windows/Linux/macOS),兼容 Git 2.0 及以上版本;
- 易用性:提供命令行交互方式,输出信息清晰易懂,错误提示需明确解决方案;
- 性能:查询 100 个以内分支时,响应时间不超过 2 秒;
- 安全性:禁止直接操作
main/master分支的代码推送/删除,需有操作日志记录。