Git开发规范
提示
git 开发规范,不是强制约束。只是为了更好的管理项目,让团队更好的协作而做的规范约束。
# 分支命令(使用英文名)
# master 分支
master
为主分支,也是用于部署生产环境的分支,确保master
分支稳定性
master
分支一般由 develop 以及 hotfix 分支合并,任何时间都不能直接修改代码
# develop 分支
develop
为开发分支,始终保持最新完成以及 bug 修复后的代码
# feature 分支
开发新功能时,以 develop 为基础创建 feature 分支
分支命名:
feature-
开头的为特性分支, 推荐命名规则:feature-模块名-功能-开发者简称/feature-user-login-xm
,也可以按其他格式命令只要以feature-
开头
feature 开发完成,首先会合并到 develop 分支,进入提测时,会创建 release 分支。
如果测试过程中若存在 bug 需要修复,则直接由开发者在 release 分支修复并提交。
当测试完成之后,合并 release 分支到 master 和 develop 分支,此时 master 为最新代码,用作上线。
1
2
3
2
3
# release 分支
release
为预上线分支,发布提测阶段,会以release
分支代码为基准提测
# bug 分支
分支命名:
bug-
开头的为修复分支,它的命名规则与feature
分支类似线上出现紧急问题时,需要及时修复,以
master
分支为基线,创建bug
分支,修复完成后,需要合并到master
分支和develop
分支
# 提交消息规范
定义[ADD],[OPT],[UPDATE],[FIX],[TAG]这 5 类提交消息的类别:
[ADD]:扩充添加类型
[OPT]:优化类型
[UPDATE]:调整适应类型
[FIX]:缺陷修复类型
[TAG]:目录结构调整,注释更新类型
例如:
git commit -m "[ADD]新增 xx 功能"
git commit -m "[OPT]优化 SQL 性能"
git commit -m "[UPDATE]升级 restful-api 版本"
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# 分支开发原则
1.从 develop 新建分支(记得先更新本地 develop,在新建个人分支),如下:
git checkout develop(切换到 develop 分支)
git pull origin develop(更新 develop 代码)
git checkout -b feature-user-login-xm develop(从 develop 新建,并切换到新分支)
2.分支细化到某个模块的子功能
不建议分支太大,如:一个大模块不应该作为一个分支,而是拆分若干个子功能分支
3.分支功能开发完成提交并合并请求
功能分支建议1-3天工作量,尽量不要超过一周,不方便工作跟踪,也不方便后续 review
4.分支功能开发不能混搭
不要混搭功能,一个分支既开发登录功能,又同时开发流程功能(不同功能不同分支)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
# 四:合并请求原则(merge request)
1.分支合并代码量不宜过大
建议不超过 200 行代码量,作为一个合并请求,提交给主程序员 review(代码太多,review 效果不好)
2.分支流水线通过才提交合并请求
每次提交代码到分支,会有分支 CI 的流水线,如有失败,先定位问题、修改提交代码、再次查看流水线,直至全部通过
3.合并请求,注意提交到 master,同时指派和@干系人
1)合并请求提交到主线分支 master
2)指派人员是主程序员
3)@干系人,干系人包括你本次修改可能影响其他模块的模块负责人等
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# 五.代码 review
1.先看提交人员提交说明,一般提交说明会通过模板进行控制格式
2.查看本次提交,是否有说明有相关测试(如:修改bug,开发应该有相应的自测记录)
3.查看本次提交的流水线是否全部通过
4.查看本次提交对应的单测、自测是否有新增,用例覆盖是否到位(如:按照标准就是分支新增功能,同时新增单测用例,一并提交入库)
5.最后在变更页面,查看代码diff变动,如果有问题再对应行数,记录review问题
6.提交人员,修改review的问题代码,直接俄提交代码到个人分支即可,无需再新建合并请求
7.合并人员,需要再次查看问题是否修改OK,没有问题一个个问题打勾确认
8.当所有的问题都确认修改合格后,被指派人 被@干系人需要点赞确认,最后有主程序员(被指派人)进行合并
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
上次更新: 2023/08/08, 20:00:46