团队建设
Git 分支命名与工具链
00 分钟
2022-1-4
2025-1-16
type
status
date
slug
summary
tags
category
icon
password

一、Git 分支命名

  • master: 主分支,记录上线版本,代码与线上环境一致。
  • develop: 开发分支,记录稳定版本,所有功能(feature)和修复(bugfix)分支均从此分支创建。短期分支完成后需删除。
  • feature/: 功能分支,开发新功能,完成后合并至 develop 并删除。
  • bugfix/: 修复分支,处理不紧急的 bug,完成后合并至 develop 并删除。
  • release/: 发布分支,准备上线,创建后需测试,修复 bug 后合并至 master 和 develop。
  • hotfix/: 紧急修复分支,仅在必要时从 master 创建,修复后合并至 master 和 develop。

二、工具链

安装依赖

使用 husky 和 commitlint 规范提交信息:

配置文件

package.json 中配置 Git 提交钩子:

Commitlint

Commitlint 用于检测提交规范工具,遵循 conventional commit format

三、Git Commit Message 格式

提交规范

上面是提交内容格式示例,其中:
  • type:对应上面的type说明
  • optional scope: 文件修改的范围,可选填的,如:fix(src): fix login bug
  • description:commit 描述信息
  • body: 针对commit的详细描述,说明代码提交的详细说明,可选填的
  • footer:是不兼容变更或关闭缺陷,则Footer必需,否则可以省略

Type对应的类型

  • feat: 新功能
  • fix: 修复 bug
  • docs: 文档变更
  • style: 代码格式调整(不影响功能)
  • build: 构建工具或依赖变更
  • refactor: 代码重构
  • revert: 撤销提交
  • test: 测试相关变更
  • perf: 性能优化
  • ci: 持续集成相关变更
  • chore: 其他修改(不影响 src 或 test)

Commitlint 规则

在根目录创建 commitlint.config.js

使用 standard-version 自动生成 CHANGELOG

发布更新

在 GitHub 上打标签并发布:

参考链接