Git 提交规范

以下内容有AI生成的。

Git 提交规范中提交类型前缀没有绝对固定的完整版,会因项目需求和团队约定而有所不同,以下是较为全面的常见类型前缀:

功能相关

feat:全称为 feature,用于新增功能的提交,表明此次提交为项目添加了新的功能特性。
feature/:表示特定功能模块下的新功能开发提交,“” 为具体的功能模块名称,能更清晰地表明新功能所属的模块或领域。

问题修复

fix:用于修复 Bug 的提交,说明此次提交解决了项目中存在的问题或缺陷。
fix/:表示特定功能模块下的问题修复提交,“” 为具体的功能模块名称,方便快速定位问题所在模块。

文档相关

docs:用于与文档相关的更改,包括代码注释、项目说明、使用文档、接口文档等的新增、修改或删除。
readme:专门用于对项目根目录下README.md文件的修改,方便突出对项目介绍文件的变更。

代码风格

style:表示仅涉及代码风格的更改,不影响代码的功能逻辑,如代码格式化、缩进调整、空格或分号的添加删除等。

代码重构

refactor:代表代码重构,即对现有代码进行重新结构调整、优化,但不增加新功能或修复缺陷,目的是提高代码的可读性、可维护性、可扩展性等。

测试相关

test:用于提交与测试相关的代码更改,包括新增测试用例、修改测试逻辑、修复测试代码中的问题等。
testfix:专门用于修复测试用例中存在的问题,与test相比,更强调是对测试用例本身缺陷的修复。

构建与部署

build:主要用于与构建系统相关的更改,包括构建工具的配置修改、构建脚本的更新、打包流程的调整等。
depl:用于标记与部署相关的提交,包括部署脚本的更新、服务器配置的更改、环境变量的调整等。
持续集成
ci:用于提交与持续集成相关的更改,涉及到 CI 服务器的配置、自动化流程的调整、测试脚本的更新等。
性能优化
perf:主要用于性能优化相关的提交,说明对代码进行了性能方面的改进,如提高了执行速度、减少了内存占用等。

安全相关

security:用于提交与安全相关的更改,包括修复安全漏洞、增强身份验证机制、加密敏感数据等,以提高项目的安全性。

类型定义

types:在使用 TypeScript 等类型化语言时,用于提交与类型定义相关的更改,如新增、修改或删除类型声明文件、类型定义的优化等。

杂项

chore:用于表示对构建流程、辅助工具、依赖管理等杂项的更改,不直接涉及业务逻辑或代码功能。
wip:即 Work in Progress 的缩写,用于表示这是一个正在进行中的工作提交,通常用于临时提交未完成的工作,以保存当前的工作进度。

回滚操作

revert:用于提交回滚操作,表明此次提交是对之前某次提交的撤销或回滚,通常会在提交信息中注明回滚的是哪次提交。


示例

以下是 Git 提交规范中常见提交类型前缀的使用场景及示例:

  • feat(新增功能)
    场景:在开发新的业务功能时使用。如电商系统中新增用户积分兑换功能。
    示例:feat(user): 添加用户积分兑换商品功能
  • fix(修复问题)
    场景:当发现并修复了系统中的 Bug 时使用。如修复用户登录时验证码不显示的问题。
    示例:fix(login): 修复验证码在部分浏览器不显示问题
  • docs(文档相关)
    场景:对项目的文档进行新增、修改或删除等操作时使用。如更新项目的接口文档。
    示例:docs: 更新用户登录和注册接口文档
  • style(代码风格)
    场景:仅对代码的风格进行调整,不改变代码功能逻辑时使用。如统一代码缩进为 4 个空格。
    示例:style: 将代码缩进统一为4个空格
  • refactor(代码重构)
    场景:对现有代码进行结构调整和优化,不增加新功能和修复问题时使用。如对订单处理模块的代码进行重构,提高可读性。
    示例:refactor(order): 重构订单处理模块代码
  • test(测试相关)
    场景:添加、修改或更新测试用例、测试脚本等测试相关代码时使用。如为用户注册功能新增单元测试用例。
    示例:test(user): 为用户注册功能添加单元测试
  • build(构建相关)
    场景:对项目的构建系统、构建脚本等进行修改时使用。如更新项目的 Webpack 配置,以优化打包速度。
    示例:build: 优化Webpack打包配置,提高打包速度
  • depl(部署相关)
    场景:涉及部署脚本、服务器配置等部署相关内容的更改时使用。如更新生产环境服务器的 Nginx 配置。
    示例:depl: 更新生产环境Nginx配置
  • ci(持续集成)
    场景:对持续集成流程、配置文件等进行修改时使用。如修改 Jenkins 的配置,添加新的构建步骤。
    示例:ci: 在Jenkins中添加代码质量检查步骤
  • perf(性能优化)
    场景:对项目的性能进行优化,如提高响应速度、减少内存占用等操作时使用。如优化数据库查询语句,提高查询性能。
    示例:perf: 优化用户列表查询SQL,提升查询速度
  • security(安全相关)
    场景:对项目的安全方面进行改进,如修复安全漏洞、加强加密等操作时使用。如修复 SQL 注入漏洞。
    示例:security: 修复用户登录接口SQL注入漏洞
  • types(类型定义)
    场景:在使用 TypeScript 等类型化语言时,对类型定义文件进行新增、修改等操作时使用。如为用户模块添加更准确的类型定义。
    示例:types(user): 为用户模块添加详细类型定义
  • chore(杂项)
    场景:对构建流程、辅助工具、依赖管理等杂项进行更改,不直接涉及业务逻辑或代码功能时使用。如更新项目的依赖包版本。
    示例:chore: 将项目中lodash依赖更新到最新版本
  • wip(工作进行中)
    场景:当工作尚未完成,需要临时提交保存进度时使用。如正在开发用户权限管理功能,先提交一部分代码。
    示例:wip: 初步搭建用户权限管理模块框架
  • revert(回滚操作)
    场景:当需要回滚之前的某个提交时使用。如回滚之前一次导致系统崩溃的代码修改。
    示例:revert: 回滚fea(user)添加的用户权限管理功能,因存在严重Bug
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。