大厂中Git 代码提交规范,feat、fix、refactor都是什么意思?

数智先锋2024年7月22日0 回答1662 浏览

Git 代码提交的常见规范

在团队合作中,良好的提交规范可以提升代码质量和项目管理的效率。以下是常见的 Git 提交规范:

1. 提交信息的格式

<type>(<scope>): <subject>
<空行>
<body>
<空行>
<footer>
  • type:提交的类型,描述提交的目的。
  • scope:影响的范围,可以是模块、功能或文件名(可选)。
  • subject:简短的提交描述,不超过50个字符。
  • body:详细的提交描述,解释提交的动机和变更的详细信息。
  • footer:额外的信息,比如关联的 issue、BREAKING CHANGE 等。

2. 提交信息示例

feat(auth): 添加用户登录功能

添加了基于 JWT 的用户登录功能,包括登录接口和相关的测试用例。

Closes #123

3. 提交信息的良好实践

  • 使用英文进行提交信息描述。
  • 主题行(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
  - 描述:用于分支的合并。

这些规范和前缀有助于保持代码库的整洁和提交记录的清晰,便于团队成员更好地协作。



来自公众号:架构师必备

原文阅读