Git 提交规范
本项目的 Git 提交信息遵循以下约定格式,旨在提供清晰、一致的提交历史,便于追根溯源与自动化工具处理。
提交格式
提交信息包含三个部分:类型 type、可选的作用域 scope 、描述 description和正文 body。
类型
| 类型 | 说明 | 示例 |
|---|---|---|
feat |
新功能开发 | feat: 实现文件批量保存功能 |
fix |
修复 Bug | fix: 修复下载任务无法创建的问题 |
refactor |
代码重构,不涉及功能变更 | refactor: 重构用户头像的读写方法 |
docs |
文档更新 | docs: 补充异步任务实现文档 |
chore |
构建流程、配置、依赖等杂项变动 | chore: 系统版本号更新 3.1.0 |
perf |
性能优化 | perf: 优化 ffmpeg 生成视频封面的性能 |
test |
测试相关 | test: 补充压缩引擎单元测试 |
remove |
移除不再需要的功能或代码 | remove: 废弃旧版文件上传接口 |
作用域(可选)
作用域用括号包裹在类型后方,用于标明变更所在的模块范围,例如:
feat(archive):— 压缩引擎模块的变更fix(webdav):— WebDAV 模块的 Bug 修复
描述
- 必须使用中文描述
- 使用祈使句、现在时(如"实现"而不是"实现了"或"已实现")
- 简明扼要但信息完整,让读者能理解本次提交的意图
- 若有必要,可在详细描述中补充动机、背景或实现方式
正文(可选)
- 用于补充描述变更的动机、背景、实现细节等信息
- 可以包含多行文本,建议使用 Markdown 格式进行排版
- 在正文中可以引用相关的 Issue、PR 或其他提交
示例
feat: 实现文件批量保存功能,优化解压异步任务的内存管理与存储效率
fix: 修复 Linux 环境下无法创建 webshell 会话的问题
refactor: 将 ArchiveManager 中新的压缩引擎管理机制拆分到新的 ArchiveEngineManager 接口
docs: 添加压缩引擎扩展说明文档
chore: 调整 sfc-archive 和 sfc-api 的依赖关系
perf: 提升 samba 存储挂载稳定性,优化资源释放逻辑
feat(archive): introduce engine-based archive api and zip4j/junrar support
分支管理
- 日常开发在
develop分支进行 - 大的重构或实验性功能可单独拉出特性分支,完成后合回
develop - 对已开发的功能进行部署测试时,将
develop分支合并到deploy分支,触发Github CI/CD流程进行自动部署 - 发版时从
develop合并至master分支,并打上版本标签
注意事项
- 提交前检查变更内容是否完整,避免遗漏未提交的关联文件
- 优先使用中文描述,确保团队成员能快速理解
- 一个提交应尽量聚焦于一个变更意图,避免将无关的改动混入同一次提交