大厂中Git 代码提交规范,feat、fix、refactor都是什么意思?
Git 代码提交的常见规范
在团队合作中,良好的提交规范可以提升代码质量和项目管理的效率。以下是常见的 Git 提交规范:
1. 提交信息的格式
<type>(<scope>): <subject>
<空行>
<body>
<空行>
<footer>- type:提交的类型,描述提交的目的。
- scope:影响的范围,可以是模块、功能或文件名(可选)。
- subject:简短的提交描述,不超过50个字符。
- body:详细的提交描述,解释提交的动机和变更的详细信息。
- footer:额外的信息,比如关联的 issue、BREAKING CHANGE 等。
2. 提交信息示例
feat(auth): 添加用户登录功能
添加了基于 JWT 的用户登录功能,包括登录接口和相关的测试用例。
Closes #1233. 提交信息的良好实践
- 使用英文进行提交信息描述。
- 主题行(subject)应简洁明了,使用祈使句(如 "Add", "Fix")。
- 保持每次提交的粒度较小,每次提交应只包含一个逻辑变更。
常用的提交前缀及示例
1.feat: 新功能(feature)
- 示例:feat: 添加用户登录功能
- 描述:用于引入新功能。
2.fix: 修复问题(bug fix)
- 示例:fix: 修复用户无法登录的问题
- 描述:用于修复 bug。
3.docs: 文档(documentation)
- 示例:docs: 更新 README 文件
- 描述:仅仅修改了文档,比如 README, CHANGELOG, CONTRIBUTE 等。
4.style: 代码格式(不影响代码运行的变动)
- 示例:style: 调整代码缩进
- 描述:不影响代码逻辑的变动(如空格、格式、缺少分号等)。
5.refactor: 代码重构(既不是新增功能也不是修复 bug 的代码变动)
- 示例:refactor: 重构用户认证模块
- 描述:代码重构,既不是新增功能也不是修复 bug。
6.perf: 提高性能的代码更改
- 示例:perf: 优化查询算法
- 描述:提高性能的代码改动。
7.test: 添加缺失的测试或修正现有测试
- 示例:test: 增加用户登录功能的单元测试
- 描述:添加测试或修改现有测试。
8.build: 影响构建系统或外部依赖的变动(例如:gulp、npm)
- 示例:build: 更新 webpack 配置
- 描述:影响构建系统或外部依赖的改动(如:grunt, gulp, npm 等)。
9.ci: 持续集成配置文件的变动(例如:Travis, Circle)
- 示例:ci: 修改 Travis CI 配置
- 描述:修改持续集成配置文件和脚本(如:Travis, Circle 等)。
10.chore: 其他日常事务(不属于以上分类的变动)
- 示例:chore: 更新依赖库
- 描述:不修改 src 或测试文件的其他修改。
11.revert: 撤销之前的提交
- 示例:revert: 撤销提交 d3d2f8c
- 描述:用于撤销一个特定的提交。
12.merge: 分支合并
- 示例:merge: 合并分支 feature/login
- 描述:用于分支的合并。
这些规范和前缀有助于保持代码库的整洁和提交记录的清晰,便于团队成员更好地协作。
来自公众号:架构师必备