高效的Gitlab Flow最佳实践
创作时间:
作者:
@小白创作中心
高效的Gitlab Flow最佳实践
引用
CSDN
1.
https://blog.csdn.net/u011436427/article/details/136843310
在软件开发中,Git工作流程的选择对于团队协作效率和代码质量有着重要影响。本文将详细介绍三种主流的Git工作流程:Git flow、GitHub flow和Gitlab flow,并重点介绍Gitlab flow的最佳实践。
一、Git flow
最早诞生并得到广泛采用的一种工作流程就是Git flow。它定义了两个长期分支:
- 主分支(master):存放对外发布的稳定版本
- 开发分支(develop):存放最新的开发版本
此外,还有三种短期分支:
- 功能分支(feature branch)
- 补丁分支(hotfix branch)
- 预发分支(release branch)
缺点:
- 单独使用Git flow命令管理较为复杂
- 运行起来过于复杂
二、GitHub flow
GitHub flow采用单一主分支(master)策略,流程简单直观:
- 根据需求从master拉出新分支
- 开发完成后发起Pull Request
- 通过代码评审和讨论后合并到master
- 重新部署后删除原分支
缺点:
- 对代码贡献者的素质要求较高
三、Gitlab flow
Gitlab flow结合了Git flow和GitHub flow的优点,采用"上游优先"原则:
- 持续发布模式:适用于持续集成/持续部署(CI/CD)场景
master分支:开发环境
pre-production分支:预发环境
production分支:生产环境
代码变化必须由上游向下游发展
- 版本发布模式:适用于定期发布新版本的项目
每个稳定版本从master分支拉出独立分支(如2-3-stable)
仅在需要修补bug时合并代码,并更新小版本号
四、基于Gitlab flow的最佳实践
采用Gitlab flow,按照版本发布的模式实施:
- 新的迭代开始,所有开发人员从主干master拉个人分支开发特性,分支命名规范为feature-name
- 开发完成后,在迭代结束前,合入master分支,master分支合并后,自动CI/CD到dev环境
- 开发自测通过后,从master拉取要发布的分支,release-$version,将这个分支部署到测试环境进行测试
- 测出的bug,通过从release-$versio拉出分支进行修复,修复完成后,再合入release-$version
- 正式发布版本,如果上线后,又有bug,根据5的方式处理 等发布版本稳定后(发布稳定版本),将release-$versio反合入主干
1. 语义化版本号
版本格式:主版本号.次版本号.修订号,版本号递增规则如下:
- 主版本号:当你做了不兼容的 API 修改,
- 次版本号:当你做了向下兼容的功能性新增,
- 修订号:当你做了向下兼容的问题修正。
先行版本号及版本编译元数据可以加到“主版本号.次版本号.修订号”的后面,作为延伸。主版本号为0,代表还未发布正式版本。
2. 测试发布
- master分支,自动部署到开发环境(dev)
- 功能开发完成,并自测通过后,代码合并到待发布版本
- 分支规则:release-$version
- 版本规则:主版本号.次版本号.修订号
- 从最新的master新拉一个分支release-$version,比如release-0.1.1
- 设定release-$version 分支为保护分支,不允许直接推送,只能通过merge不允许直接提交代码,接受MR。
3. bug修复
需要修改bug时,从release-$version新拉分支,修改完成后再合并到release-$version分支.
常见问题:
- 从release-$version拉的分支,如何测试?建议开发同学优先本地测试验证,严重通过再合并到release分支。
- release-$version太多怎么办?可以保留最近的10个版本。历史的打tag后,删除分支。
热门推荐
卡尔·波兰尼:从19世纪反抗事件看社会变迁
大英博物馆《晚清百态》:被粉饰的殖民侵略与忽视的反抗史
春节拜年新姿势:作揖手势大揭秘!
《功夫梦》长城武当山拍摄揭秘:中美合拍片的典范之作
蓝莓被称为“超级水果”,对人体有6个好处,但食时要注意3点
立秋节气膳食推荐及易发疾病预防
《功夫梦》:成龙转型之路的重要里程碑
荨麻疹患者的日常护理秘籍:从生活到心理的全方位管理
荨麻疹患者的饮食救星:牛肉南瓜条!
麻疹高发季,如何通过传染源管理有效预防?
大连卫生间漏水后的无损清洁秘籍
卫生间装修防漏小妙招,你get了吗?
卫生间漏水引发霉菌危机!如何保护家人健康?
利用认知行为疗法改善面瘫症状
面瘫的中医治疗方法
知“帕”不怕 中医介绍如何缓解帕金森病症状
集成灶的缺点及使用注意事项有哪些
新版《水浒传》:林冲的戏剧冲突大揭秘
新版《水浒传》:改编还是毁改?
探索心理学产品在老年人心理健康中的应用策略与实践
你家的小米燕麦粥怎么煮?
父亲节必备:一碗养生燕麦小米粥,传递满满孝心
博士生延期毕业率超63%:如何破解这一教育难题?
《悲惨的世界》:一部揭示社会不公的文学巨著
悲剧人物的命运:苔丝 vs. 素锦
揭秘《功夫梦》:威尔·史密斯如何打造这部功夫经典
神经康复治疗方法主要有哪些?
《功夫梦:融合之道》:一部关于成长、传承与创新的教育启示录
《功夫梦2》:成龙再续经典,武魂不灭!
《功夫梦:融合之道》曝全球首支预告 成龙重返好莱坞掀功夫狂潮