这里记录从网上搜集的一个 Git 工作流.
Git 工作流
只有适合团队的工作流, 没有最佳的工作流. 这里介绍一个 git 工作流, 借鉴 Git 工作流风格指南 以及 Flutter-go 工程中的描述.
-
master分支总是存放最后一次正式发布的代码, 即本分支代码打包用于发布. -
release分支总是存放用于发布前测试的代码(test flight), 本分支的代码打包用于在预发布环境下测试(暂无预发布环境, 暂跳过这一环). -
development分支总是存放用于开发环境下的代码, 本分支下的代码打包后在开发环境下测试用. -
dev group中的每个分支对应不同开发者自己的分支, 使用开发者自己的名字命名(比如zhang_san).
代码总是先从开发者自己的分支合并到 development 分支, 在这个分支下测试人员可以进行多轮的开发环境下的测试, 而后合并到 release 分支进行预发布环境下测试, 如果预发布测试通过, 则合并到 master 分支, 并打上 tag 标注版本号打包发布.
并且努力做到如下 commit 提交要求:
ruby
# 提交信息包括一个标题, 空行, 具体内容(最好不超过 80 字符), 可以使用如下标题: # 4 个代码层面上的改动 feat:新功能(feature) fix:修补bug refactor:重构(即不是新增功能,也不是修改bug的代码变动) style: 格式(不影响代码运行的变动) # 3 个工程相关的改动, 不影响代码执行的改动. docs:文档(documentation) test:增加测试 chore:构建过程或辅助工具的变动 # 比如如下: feat: 商城商品分类展示. 实现商城商品分类数据获取和显示.