git commit message 规范
commit message 格式都包括三部分:Header,Body 和 Footer
<type>: <subject>
<body>
<footer>
一、Header
- Type(必需)
type 用于说明 git commit 的类别,允许使用下面几个标识。
feat:新功能(Feature), 用于表示引入新功能或特性的变动。
fix:修复 bug。这些 bug 可能由 QA 团队发现,或由开发人员在开发过程中识别。
docs:文档(Documentation), 表示对文档的变动,这包括对代码库中的注释、README 文件或其他文档的修改。
style: 格式(Format), 用于表示对代码格式的变动,这些变动不影响代码的运行。通常包括空格、缩进、换行等风格调整。
refactor:重构(即不是新增功能,也不是修改 bug 的代码变动)
perf: 优化相关,比如提升性能、体验。
test:增加测试,包括单元测试、集成测试或其他类型的测试。
chore:构建过程或辅助工具的变动,表示对构建过程或辅助工具的变动。这可能包括更新构建脚本、配置文件或其他与构建和工具相关的内容。
revert:回滚到上一个版本,撤销之前的提交。
merge:代码合并,通常是在分支开发完成后将代码合并回主线。
sync:同步主线或分支的 Bug,通常用于解决因为合并而引入的问题。
- Subject(必需)
subject 是 commit 目的的简短描述,不超过 50 个字符。规范如下:
- 以动词开头,使用第一人称现在时,比如 change,而不是 changed 或 changes
- 第一个字母小写
- 结尾不加句号(.)
例如:
feat: implement user authentication
这个提交消息中,implement user authentication 是 subject,简洁明了地描述了引入用户认证功能的目的。
fix: correct input validation logic
这个提交消息中,correct input validation logic 是 subject,清晰地说明了修复输入验证逻辑的目的。
二、Body
Body 部分是对本次 commit 的详细描述,可以分成多行。Body 编写有两个注意点。
- 使用第一人称现在时,比如使用 change 而不是 changed 或 changes。这有助于使描述更加直观和连贯,增强可读性。
- 应该说明代码变动的动机,以及与以前行为的对比。 Body 部分不仅仅是描述代码的变动,还应该解释为什么进行这个变动,以及与之前的代码行为相比有哪些改进。这有助于其他开发者更好地理解代码变更的背后动机和意图。
三、Footer
Footer 一般为相关链接
-
关闭 issue,如果当前 commit 针对某个 issue,那么可以在 Footer 部分关闭这个 issue
Closes #234
也可以一次关闭多个 issue
Closes #123, #245, #992 -
或者提交者信息
Signed-off-by: name <XXX@XXX.com>

浙公网安备 33010602011771号