GIT 提交说明的规范

本文介绍了GIT提交说明的规范,包括Header、Body和Footer的构成,详细阐述了各部分的作用,如feat表示新增功能,fix表示修复bug。遵循这套规范,能提高团队成员阅读PullRequest的效率。示例中展示了如何根据规范撰写提交信息。

通过 GIT 提交代码的时候,必须要写提交说明,否则就无法提交

如果我们所有人能够按照一套规范去写提交说明(Commit Message),那我们阅读 Pull Request 的效率就会很高, 参考了 Github 上的开源项目及部分公司的提交规范,总结出以下规范。

规范是所有人默认的一套规定,并不是强制要求,以公司的规范为首要,如果有问题,请留言。。。

部分提交代码说明参考

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Commit Message 的标准格式

Commit Message 的组成部分:Header、Body、Footer

[Issues][Module]
### Git 提交信息编写规范 Git 提交信息的编写规范有助于提高代码审查效率、简化版本控制流程,并增强团队协作的透明度。一个良好的提交信息应当清晰、简洁,并能够准确反映本次提交的目的和内容。 #### 提交信息的基本结构 一个标准的 Git 提交信息通常包含以下三个主要部分: 1. **Header(头部)**:描述提交类型和简短说明,是必填项。提交类型通常使用一个动词加名词的格式,例如 `feat(auth)` 或 `fix(bug)`,以表明此次提交的目的。常见的提交类型包括: - `feat`:新增功能 - `fix`:修复 bug - `chore`:日常维护任务 - `docs`:文档更新 - `style`:代码格式调整(不影响逻辑) - `refactor`:重构代码(不改变外部行为) - `test`:增加或更新测试用例 - `perf`:性能优化 - `ci`:持续集成配置更新 - `build`:构建系统或依赖项更新 - `revert`:回滚更改 2. **Body(正文)**:详细说明修改内容(如动机、实现细节),是可选项。这部分可以用来解释为什么进行此次更改,以及更改是如何实现的。例如,描述某个 bug 的具体表现,或者新增功能的设计思路。 3. **Footer(页脚)**:关联 Issue、描述破坏性变更(BREAKING CHANGE)等,是可选项。如果此次更改影响了现有功能或接口,应当在此部分明确指出,并说明如何迁移或调整。 #### 提交信息书写规范 为了确保提交信息的一致性和可读性,建议遵循以下书写规范: - **使用英文书写**:尽管中文也可以使用,但英文是国际通用语言,便于跨团队协作。 - **第一行不超过 50 个字符**:保持简洁,避免过长的标题。 - **使用祈使句**:例如 `Fix bug in login flow` 而不是 `Fixed bug in login flow`。 - **空一行后写正文**:正文应详细说明更改的背景、原因和实现方式。 - **使用换行符**:每行不超过 72 个字符,以便在 Git 工具中更好地显示。 #### 示例 ```text feat(auth): add password strength meter Add a visual indicator for password strength during registration. This improves user experience by providing real-time feedback. Closes #1234 ``` ```text fix(login): handle empty input fields Ensure that the login form does not submit empty values. This prevents unnecessary API calls and improves validation. BREAKING CHANGE: Update form validation logic to require non-empty fields. ``` #### 工具支持 为了帮助开发者更方便地遵循提交规范,可以使用以下工具: - **Commitizen**:一个命令行工具,引导开发者按照规范填写提交信息。 - **Husky**:Git 钩子工具,可以在提交前自动校验提交信息是否符合规范。 - **VSCode 插件**:如 "Git Commit Message Editor",提供图形界面辅助填写提交信息。 #### 配置示例 1. **安装 Commitizen 和 Husky** ```bash npm install -g commitizen npm install --save-dev husky ``` 2. **初始化 Commitizen** ```bash commitizen init cz-conventional-changelog --save-dev --save-exact ``` 3. **配置 Husky** 在 `package.json` 中添加以下内容: ```json { "husky": { "hooks": { "commit-msg": "commitlint -E HUSKY_GIT_PARAMS" } } } ``` 4. **安装 Commitlint** ```bash npm install --save-dev @commitlint/config-conventional @commitlint/cli ``` 5. **创建 Commitlint 配置文件** 创建 `.commitlintrc.js` 文件: ```javascript module.exports = { extends: ['@commitlint/config-conventional'], }; ``` 通过以上配置,开发者在提交代码时将受到规范约束,确保每次提交的信息都符合标准。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值