前言

每次对于团队协作Git时,规范Git分支和Git Commit是很有必要的。

这是本人收集大厂实现的提交规范

Git

分支名 简介
Production 分支(main) 也就是我们经常使用的 Master (main)分支,这个分支最近发布到生产环境的代码,最近发布的Release, 这个分支只能从其他分支合并,不能在这个分支直接修改。
Develop 分支(dev) 这个分支是我们是我们的主开发分支,包含所有要发布到下一个 Release 的代码,这个主要合并与其他分支,比如 Feature 分支。
Feature 分支 这个分支主要是用来开发一个新的功能,一旦开发完成,我们合并回 Develop 分支进入下一个Release。
Release 分支 当你需要一个发布一个新 Release 的时候,我们基于 Develop 分支创建一个 Release 分支,完成 Release 后,我们合并到 Master 和 Develop 分支
Hotfix分支 当我们在 Production 发现新的 Bug 时候,我们需要创建一个 Hotfix, 完成 Hotfix 后,我们合并回 Master 和 Develop 分支,所以 Hotfix 的改动会进入下一个 Release。

Git Commit

Type Description Example
feat 新功能(feature) feat(user): 添加用户注册功能
fix 修复bug,产生diff并自动修复此问题 fix(login): 修复登录页面验证码不显示的问题
to 修复bug,只产生diff不自动修复此问题 to(cart): 修复购物车商品数量更新逻辑
docs 文档(documentation) docs(README): 更新项目介绍和安装说明
style 格式(不影响代码运行的变动) style(css): 调整按钮样式,使其更符合设计规范
refactor 重构(非新增功能或非修改bug的代码变动) refactor(user-service): 优化用户服务代码结构
perf 优化相关,如提升性能、体验 perf(search): 优化搜索算法,提升查询速度
test 增加测试 test(payment): 添加支付流程的单元测试
chore 构建过程或辅助工具的变动 chore(build): 更新构建脚本,支持自动发布功能
revert 回滚到上一个版本 revert(deploy): 回滚上次的部署操作
merge 代码合并 merge(branch-a): 合并分支a到主分支
sync 同步主线或分支的Bug sync(main): 同步主线上的Bug修复到当前分支
scope(可选) 用于说明 commit 影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同
subject(必须) subject是commit目的的简短描述,不超过50个字符。

大厂git分支管理规范:gitflow规范指南 - kevin_ying - 博客园 (cnblogs.com)

如何规范你的Git commit? - 知乎 (zhihu.com)