git提交规范
在进行 Git 开发时,良好的 commit 规范有助于提高团队协作效率、保持代码库清晰和可追踪性。以下是一个标准的 Git commit 规范指南:
1. Git Commit 格式
每条 Git commit message 应该由三个部分组成:
<类型>(<影响范围>): <简短描述>
[可选] 详细描述
[可选] Footer 信息
2. Commit Message 的三部分详解
2.1 类型 (Type)
<类型> 是 commit 的类型,通常是以下之一:
• feat: 新功能 (feature)
• fix: 修复 bug
• docs: 文档更新 (比如 README、API 文档)
• style: 代码格式修改(不影响逻辑,比如空格、格式化、缺少分号等)
• refactor: 代码重构(不包括新增功能或修复 bug)
• perf: 性能优化
• test: 添加或修改测试
• chore: 构建过程或辅助工具的变动(不影响代码功能)
• revert: 回滚某个 commit
• build: 构建系统或外部依赖项的修改(如升级 npm、gradle、maven 配置)
• ci: 持续集成的配置或脚本修改
• env: 修改环境配置
2.2 影响范围 (Scope)
<影响范围> 用来描述本次提交影响的代码范围,通常是一个项目模块或子系统的名称。例如:
• feat(user): 和用户相关的新功能
• fix(auth): 认证模块的 bug 修复
• docs(api): API 文档的更新
可选:如果提交影响全局或影响范围不明确,可以省略。
2.3 简短描述
<简短描述> 应尽量简明扼要地概括本次提交的变更,最好不超过 50 个字符。简短描述首字母建议大写,且不要以句号或其他标点符号结尾。
2.4 详细描述(可选)
在第二行起,可以用几段文本详细说明 commit 的变更。这部分应该解释“为什么”进行了该变更,而不仅仅是“做了什么”。如果改动较为简单或已在简短描述中清楚说明,可以省略。
2.5 Footer(可选)
Footer 通常用于关联任务、问题 ID、破坏性变更等。常见的 Footer 格式有:
• BREAKING CHANGE: 用来说明破坏性变更,通常加在详细描述的末尾。
• Closes: 用来关联某个 Issue,例如 Closes #1234。
3. Commit Message 示例
1. feat(新功能提交)
feat(user): add user login feature
Implement user login functionality, including form validation and
session handling. This change introduces the following endpoints:
- POST /login
- POST /logout
2. fix(bug 修复)
fix(auth): resolve token expiration issue
Fix the issue where the token expires too soon due to an incorrect
timestamp calculation. Updated the JWT library to handle this case.
Closes #4567
3. docs(文档更新)
docs(readme): update setup instructions
Add new installation steps for Windows users in the README to resolve
common setup issues.
4. refactor(代码重构)
refactor(order): simplify order processing logic
Refactored the order processing logic to remove redundant checks and
simplify state transitions. This makes the code easier to maintain and
test, without changing the external behavior.
5. chore(工具、构建相关)
chore(deps): update dependency eslint to v7.12.1
Updated ESLint to the latest version to address deprecation warnings.
No changes to the actual codebase, but improves the development
environment.
6. BREAKING CHANGE
feat(api): rename /users endpoint to /members
This change renames the /users API endpoint to /members for better
clarity. All API clients need to be updated accordingly.
BREAKING CHANGE: The /users endpoint is no longer available, please
migrate to /members.
4. 提示与最佳实践
• 保持小而频繁的提交:每次提交应只做一件事,避免过大的 commit。
• 确保提交信息可读且清晰:其他团队成员或未来的你需要能快速理解提交的意图。
• 与 Issue 关联:如果有任务管理系统(如 JIRA、GitHub Issues),尽量在 commit message 中引用相关的任务 ID。
- 点赞
- 收藏
- 关注作者
评论(0)