【开发规范】Git Commit 规范

简介: 【1月更文挑战第26天】【开发规范】Git Commit 规范
<类型>[可选 范围]: <描述>
[可选 正文]
[可选 脚注]

大致分为三个部分(使用空行分割):

  1. 标题行:必填, 描述主要修改类型和内容
  2. 主题内容:描述为什么修改, 做了什么样的修改, 以及开发的思路等等
  3. 页脚注释:放 Breaking Changes 或 Closed Issues

提交类型:

  • feat: 新功能、新特性
  • fix: 修改 bug
  • perf: 更改代码,以提高性能(在不影响代码内部行为的前提下,对程序性能进行优化)
  • refactor: 代码重构(重构,在不影响代码内部行为、功能下的代码修改)
  • docs: 文档修改
  • style: 代码格式修改, 注意不是 css 修改(例如分号修改)
  • test: 测试用例新增、修改
  • build: 影响项目构建或依赖项修改
  • revert: 恢复上一次提交
  • ci: 持续集成相关文件修改
  • chore: 其他修改(不在上述类型中的修改)
  • release: 发布新版本
  • workflow: 工作流相关文件修改

影响范围:说明此次提交的代码对目前工程功能所影响的范围,例如:所涉及到的功能模块

提交描述:说明此次提交的具体描述概述信息。

描述正文:commit 具体修改内容, 可以分为多行,详细描述此次提交的修改内容。(可选部分内容)

提交脚注:一些备注,通常是BREAKING CHANGE 或修复的 bug 的链接。

"Breaking change"(翻译为“破坏性变更”)是指在软件开发中对现有功能或接口进行的修改,这种修改可能导致现有的代码、功能或者接口无法与之前的版本兼容。这种变更可能会打破依赖于原有行为的代码,因此称之为“破坏性变更”。


提交详细说明:


参考文档:https://www.conventionalcommits.org/zh-hans/v1.0.0-beta.4/


  • 每个提交都必须使用类型字段前缀,它由一个名词组成,诸如 featfix ,其后接一个可选的作用域字段,以及一个必要的冒号(英文半角)和空格。
  • 当一个提交为应用或类库实现了新特性时,必须使用 feat 类型。
  • 当一个提交为应用修复了 bug 时,必须使用 fix 类型。
  • 作用域字段可以跟随在类型字段后面。作用域必须是一个描述某部分代码的名词,并用圆括号包围,例如: fix(parser):
  • 描述字段必须紧接在类型/作用域前缀的空格之后。描述指的是对代码变更的简短总结,例如: fix: array parsing issue when multiple spaces were contained in string.
  • 在简短描述之后,可以编写更长的提交正文,为代码变更提供额外的上下文信息。正文必须起始于描述字段结束的一个空行后。
  • 在正文结束的一个空行之后,可以编写一行或多行脚注。脚注必须包含关于提交的元信息,例如:关联的合并请求、Reviewer、破坏性变更,每条元信息一行。
  • 破坏性变更必须标示在正文区域最开始处,或脚注区域中某一行的开始。一个破坏性变更必须包含大写的文本 BREAKING CHANGE,后面紧跟冒号和空格。
  • BREAKING CHANGE: 之后必须提供描述,以描述对 API 的变更。例如: BREAKING CHANGE: environment variables now take precedence over config files.
  • 在提交说明中,可以使用 featfix 之外的类型。
  • 工具的实现必须不区分大小写地解析构成约定式提交的信息单元,只有 BREAKING CHANGE 必须是大写的。
  • 可以在类型/作用域前缀之后,: 之前,附加 ! 字符,以进一步提醒注意破坏性变更。当有 ! 前缀时,正文或脚注内必须包含 BREAKING CHANGE: description
相关文章
|
2月前
|
开发工具 git
GIT:如何合并已commit的信息并进行push操作
通过上述步骤,您可以有效地合并已提交的信息,并保持项目的提交历史整洁。记得在执行这些操作之前备份当前工作状态,以防万一。这样的做法不仅有助于项目维护,也能提升团队协作的效率。
133 4
|
2月前
|
开发工具 git
GIT:如何合并已commit的信息并进行push操作
通过上述步骤,您可以有效地合并已提交的信息,并保持项目的提交历史整洁。记得在执行这些操作之前备份当前工作状态,以防万一。这样的做法不仅有助于项目维护,也能提升团队协作的效率。
213 3
|
3月前
|
消息中间件 小程序 Java
【规范】看看人家Git提交描述,那叫一个规矩
本文通过IDEA中的Git描述规范插件【git commit message helper】,介绍了Git提交描述的规范流程,强调了团队开发中统一标准的重要性,并通过实例展示了规范的提交记录如何提高代码管理和维护效率。最后,文章提供了几个实用的Git提交描述案例,帮助读者更好地理解和应用这些规范。
53 0
【规范】看看人家Git提交描述,那叫一个规矩
|
3月前
|
敏捷开发 小程序 持续交付
【规范】Git分支管理,看看我司是咋整的
本文介绍了Git分支管理规范的重要性及其在企业中的应用。通过规范化的分支管理,可加速团队协作、确保代码质量、维护主分支稳定,并支持敏捷开发。文中详细描述了主分支(如master、develop)和辅助分支(如feature、hotfix)的作用,并提供了实际开发流程示例,包括开发前、开发中、提测、预生产和部署上线等阶段的操作方法。旨在帮助团队提高效率和代码质量。
147 0
【规范】Git分支管理,看看我司是咋整的
|
3月前
|
开发工具 git
Git——commit的提交规范
Git——commit的提交规范
99 4
|
3月前
|
JavaScript 测试技术 开发工具
Git 分支设计规范
Git 分支设计规范
184 11
|
3月前
|
测试技术 持续交付 开发工具
[译] 为何每次 Git Commit 要尽可能小?
[译] 为何每次 Git Commit 要尽可能小?
|
3月前
|
Java 开发工具 Android开发
Android Studio利用Build.gradle导入Git commit ID、Git Branch、User等版本信息
本文介绍了在Android Studio项目中通过修改`build.gradle`脚本来自动获取并添加Git的commit ID、branch名称和用户信息到BuildConfig类中,从而实现在编译时将这些版本信息加入到APK中的方法。
68 0
|
4月前
|
前端开发 JavaScript 开发工具
前端优化之路:git commit 校验拦截
前面在git分支规范那篇文章里,介绍了commit提交规范,但是想要做到高效落地执行,就需要做些别的功课。
|
3月前
|
存储 测试技术 开发工具
企业Git 规范的必要性-阿里云开发者社区
既然认同需要一份 Git 规范,那么这个规范需要规范哪些内容,解决哪些问题。