Skip to content
26/04/23 03:55:52

约定大于配置

在团队协作开发中,遵循统一的 Git 提交约定有助于提高代码可读性、方便版本回溯和自动化生成变更日志。以下是常用的 Git 提交约定规范:

1. 提交信息结构

一个标准的提交信息应包括以下三个部分(以空行分隔):

text
<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>

示例:

text
feat(auth): add password strength meter

Add real-time validation for password strength during registration.
Improve UX by giving immediate feedback.

Fix #1234

2. Type(类型)

type 表示本次提交的类型,建议使用以下值:

类型含义说明
feat新功能(feature)
fix修复 bug
chore构建流程或辅助工具的变动
docs文档更新
style格式调整(如缩进、空格、不影响逻辑)
refactor代码重构(不涉及功能变化)
perf性能优化
test增加或修改测试
[build](file://d:\code\my-theme\node_modules\esbuild\bin\esbuild)构建系统或依赖更改
ciCI 配置相关更改
revert回滚某个 commit

3. Scope(可选)

用于指定本次更改影响的范围,例如模块名、组件名等。可以省略。

示例:auth, router, store, utils


4. Subject(简要描述)

  • 简洁明了地描述做了什么。
  • 使用首字母大写,不以句号结尾。
  • 使用现在时或过去时均可,但保持统一。

5. Body(详细描述,可选)

  • 更详细地说明本次更改的内容。
  • 可以包括背景、动机、实现方式等。
  • 每行不超过 72 个字符。

  • 关联 issue 或 PR,如 Fix #1234Close #5678
  • 如果是重大变更(breaking change),应在此注明,并说明迁移方式。

7. 推荐工具

  • commitlint:校验提交格式是否符合规范。
  • husky:Git hooks 工具,可用于在提交前自动检查 commit message。

8. 参考规范

如果你正在使用 Vue、React、Node.js 等项目,这些规范同样适用,并且可以结合 lint-staged + prettier + eslint 实现自动格式化与校验。

夏月影,风悠扬...