目前公司项目 Git 管理规范是基于 git-flow 扩展而来。
git-flow 最先来源于 Vincent Driessen 一篇名为“一种成功的Git分支模型”的博文,后来 git-flow 被誉为在 Git 之上构建的一项软件开发最佳实践。
工具
通过安装工具可以帮助我们更方便按照 git-flow 工作流程进行项目管理。
Mac
brew install git-flow
其他终端安装方法,可以到 这里 查看。
常用命令
- 初始化使用:
git flow init
- 创建 Feature 分支:
git flow feature start branch_name
- 创建 Release 分支:
git flow release start branch_name
- 结束 Release 分支:
git flow release finish branch_name
- 将结束 Release 分支时产生的 tag 推到远程:
git push --tags
公司项目 Git 管理流程
下面的流程图,展示了目前项目基于 git-flow 并结合公司业务拓展定义的 git 管理流程规范。
分支命名规范
需求开发分支命名规范
版本号_开发人姓名首字母_需求简述
例如:feature/7.33.0_hgj_BG类目页Popular等排序页面rmmds梳理
推荐使用 git flow 命令创建
git flow feature start 7.33.0_hgj_BG类目页Popular等排序页面rmmds梳理
发版分支命名规范
发版的版本号
例如:release/7.33.0
推荐使用 git flow 命令创建
git flow release start 7.33.0
效果展示
规范前 | 规范后 |
---|---|
Git Commit 规范
为了更加方便查找 git commit 的日志,因此有必要在 commit 的时候进行备注说明类型。
参考阮老师的文章:地址
与团队成员约定在 commit 填写 message 的时候,在前面加多一个 type,具体的类型如下:
类型 | 说明 |
---|---|
feat | 新功能(feature) |
fix | 修补 bug |
docs | 文档(documentation) |
style | 格式(不影响代码运行的变动) |
refactor | 重构(即不是新增功能,也不是修改bug的代码变动) |
test | 增加测试 |
chore | 构建过程或辅助工具的变动 |
例子:feat: 划线价逻辑调整
注意冒号是使用英文的,且后面加多个空格。