git提交规范

举报
yd_282553764 发表于 2024/10/17 18:02:58 2024/10/17
【摘要】 在进行 Git 开发时,良好的 commit 规范有助于提高团队协作效率、保持代码库清晰和可追踪性。以下是一个标准的 Git commit 规范指南:1. Git Commit 格式每条 Git commit message 应该由三个部分组成:<类型>(<影响范围>): <简短描述>[可选] 详细描述[可选] Footer 信息2. Commit Message 的三部分详解2.1 类型 ...

在进行 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。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。