在进行代码提交时,良好的提交风格可以帮助我们保持项目的可读性和维护性。为了确保提交记录易于理解和管理,建议遵循以下 Git 提交风格指南。
提交消息结构
每个提交消息应包含三个部分:
- 标题(subject): 用简洁的方式描述改动内容。
- 正文(optional body): 更详细地说明为什么进行该修改。
脚注(optional footer): 可以用于关闭某些 issues 或者备注重要事项。
<type>[optional scope]: <description> [optional body] [optional footer(s)]
1. 标题部分
必须包含改动的 类型(type),可以是以下几种类型:
feat
: 新功能fix
: 修复 bugdocs
: 仅文档更新style
: 代码格式更改(不影响逻辑的改动,如空格、格式、缺少分号等)refactor
: 代码重构(既不修复 bug 也不添加功能)test
: 添加或修改测试chore
: 修改构建过程或辅助工具的变动perf
: 提升性能的改动
范围(scope) 用于描述影响的模块或功能。若范围不明确可以省略。
描述(subject) 使用简洁明了的动词开头,描述改动内容,限制在50个字符以内。
2. 正文部分(可选)
- 提供更多的背景信息和修改动机。
- 每行不超过 72 个字符。
3. 页脚部分(可选)
- 如果提交关闭了某个 issue 或做了特殊处理,可以在页脚注明。
- 例如:
Closes #123
或Relates to #456
。
结构字段说明
字段 | 说明 | 示例 |
---|---|---|
type | 提交类型,表示改动的目的。 | feat , fix , docs , style , refactor , test , chore , perf |
scope | 可选,描述此次改动的影响范围。 | auth , api , db , ui |
subject | 简洁描述改动,50字符以内。 | add user login feature , fix navbar bug |
body | 可选,详细说明修改的原因、背景信息,每行不超过 72 字符。 | This commit adds the login feature for user authentication. |
footer | 可选,补充信息,如关闭 issue。 | Closes #123 , Relates to #456 |
示例提交消息
feat(auth): add user login feature
This commit adds a login feature to authenticate users using OAuth.
It implements a secure way for users to log in using third-party providers.
Closes #123
fix(ui): fix navbar collapsing on small screens
The navbar would collapse on small screens due to a missing media query.
This fix adds the required query to handle screen sizes below 768px.
Relates to #456