企业中多分支多人协作的git工作流程

简介: 企业中多分支多人协作的git工作流程

分支模型和权限

我们用的是master(生产),release(预生产),integration(测试),develop(开发) 分支模型

git平台:gitlab

分支权限

前端后端:拥有的的权限只有开发分支的合并

开发组长:拥有的的权限有开发测试预生产生产分支的合并

发布权限

前端后端:拥有的的权限只有开发环境的发布

开发组长:拥有的的权限只有开发环境测试环境的发布

测试:拥有的的权限只有测试环境预生产的发布

运维:拥有的的权限只有生产的发布

开发上线流程

1.需求评审

2.开发排期

3.开始开发

4.测试冒烟

5.冒烟通过提测,合代码到测试分支

6.测试测试,开发修bug

7.测试完成,发布预生产,合代码到预生产

8.预生产测试,修bug,修完的bug要走测试再走预生产

9.预生产产品验收,提交生产,合代码到生产,生产运营(客户)验收

10.结项

重点第三步开始(新需求开发):

1.开始开发要切换分支到release或者master

## 注意:如果release上有别人没发到生产的代码,就切换到master分支
git checkout release
## or
git checkout master

2.开发新需求先把 预发布/生产上最新代码拉下来

git pull

3.创建自己的独立分支并在这个分支上开发

git checkout -b 分支名

分支名要有命令规范,不要随便取,不然鬼才知道你这个分支是干嘛的

例如:业务或项目名缩写-版本-开发人姓名

## 例子
git checkout -b tfsc-2.7-hqg

4.开发完成提交代码

git add .
git commit -m'提交描述'
git push

提交描述怎么写?

新需求提交:feat:需求8296-新增购物车需求

bug修复:fix:bug12890-购物车按钮点不动

## 提交描述例子
git commit -m'fix:bug12890-购物车按钮点不动'

5.开发前后端开发环境联调

线上合并代码到develop分支,开发人员有权限,自己线上合并即可,然后jekins构建项目,结合你本地运行代码,你和后端就可以联调了(你本地调,后端看你发布到开发环境的代码构建后的地址)


就算你有权限自己合并开发分支,也禁止本地merge,所有的merge走线上(下面有指引)!


6.线上申请自己分支合并代码到integration(测试)分支

cc01a3cd779e4ffaaf918c1ca5c08d84.png

前面合到develop也是在这里合并!

7.冒烟测试(冒烟在开发环境冒烟)

叫测试在开发环境进行冒烟测试,根据测试的测试用例来测试,有问题及时修改,然后提交代码到自己分支,再线上合并到开发分支。

直到冒烟测试通过,就申请提测,将自己分支最新代码合并到测试分支,联系对应的测试人员构建测试。

8.测试环境测试

边测边修复bug,直到测试完成,测试说可以,再将代码发到预生产,这个作为前端一般是没有权限合并的,只能提交合并申请后由开发组长来完成,然后交测试发布预生产

9.预生产环境测试

也是边测试边修复bug,注意:这里修复的bug要重走测试,测试环境测过了,再发预生产,预生产环境测完了,产品测试,产品觉得ok了,就验收,开始合并到生产环境

9.产环境测试发布验收

生产环境发布需要提上线申请,打tag,然后交给运维发布上线,最后客户验收!

关于tag怎么打看下面:

1.打tag切换到master分支

2.git tag 查看所有tag

0ea0b0f7ec5240bdbe4ab81313d790c6.png

3.git tag tag名

4.git push origin tag名

212ff513aca142f196da3f0ae7dc3cf6.png

5.打线上申请

Jenkins项目名称: tuns_web_pc

GIT仓库地址: http://192.168.2.20/front_end/tuns_web_pc.git

当前发布分支TAG/分支: 2.8.0

异常处理: 回滚至 2.7.8

目录
相关文章
|
4月前
|
存储 安全 开发工具
深度解决 Git “fatal: refusing to merge unrelated histories” 错误解析什么是历史分支优雅草卓伊凡
深度解决 Git “fatal: refusing to merge unrelated histories” 错误解析什么是历史分支优雅草卓伊凡
326 4
深度解决 Git “fatal: refusing to merge unrelated histories” 错误解析什么是历史分支优雅草卓伊凡
|
1月前
|
开发工具 git
Git版本控制工具合并分支merge命令操作流程
通过以上步聚焦于技术性和操作层面指南(guidance), 可以有效管理项目版本控制(version control), 并促进团队协作(collaboration).
187 15
|
1月前
|
开发工具 git 开发者
Git版本管理常见文件提交流程讲解
以上就是Git常见文件提交流程概述。掌握此流程对于任何使用Git进行版本控制和协同工作项目团队成员都至关重要。
74 13
|
3月前
|
数据可视化 Java 测试技术
Git Flow 现代实操指南含从代码提交到 CI/CD 全流程的实用技巧与长尾关键词解析 Git Flow
本指南结合现代技术趋势,详解Git Flow工作流,涵盖GitHub Actions自动化、Conventional Commits规范、Gitmoji可视化等内容,助你实现代码到CI/CD的全流程管理,提升团队开发效率与代码质量。
172 2
|
2月前
|
开发工具 git 开发者
Git流程控制:远程仓库操作的实用指南
通过遵循这些步骤和策略,你将能够更有效地与远程仓库进行交互,确保代码变更的透明度和项目历史的干净。同时,良好的版本控制习惯可以减少潜在的冲突,并帮助保持代码库的整洁。在日常工作中应用这些实用的Git流程控制技巧将是非常有益的。
116 0
|
9月前
|
开发工具 git
图解Git——分支的新建与合并《Pro Git》
在Git开发中,新建与合并分支是常见的操作。以实际开发为例:为实现新需求创建分支`iss53`进行开发;遇紧急Bug时,切换至线上分支创建`hotfix`修复并合并回线上分支,再切换回`iss53`继续工作。完成`iss53`后,切换到`master`合并。若出现冲突,使用`git status`查看,手动编辑解决冲突后标记为已解决并提交。图形化工具如`git mergetool`也可辅助解决冲突。
201 9
|
9月前
|
开发工具 git 开发者
图解Git——分支简介《Pro Git》
Git 分支是其核心特性之一,允许开发者从主开发线分离工作,避免干扰主线。传统版本控制系统创建分支效率低,而Git的分支创建和切换非常轻量高效。
484 9
|
8月前
|
开发工具 git 开发者
vscode+git解决远程分支合并冲突
通过这些详细步骤,您可以掌握如何使用VSCode和Git高效地解决远程分支合并冲突,提高开发效率和代码质量。希望这些内容对您的学习和工作有所帮助。
1786 86
|
6月前
|
人工智能 API 开发工具
GitHub官方开源MCP服务!GitHub MCP Server:无缝集成GitHub API,实现Git流程完全自动化
GitHub MCP Server是基于Model Context Protocol的服务器工具,提供与GitHub API的无缝集成,支持自动化处理问题、Pull Request和仓库管理等功能。
1206 2
GitHub官方开源MCP服务!GitHub MCP Server:无缝集成GitHub API,实现Git流程完全自动化
|
9月前
|
存储 项目管理 开发工具
图解Git——分支开发工作流《Pro Git》
分支开发工作流利用Git的分支功能,支持灵活的项目管理。长期分支如`master`和`develop`分别保存稳定和开发中的代码;短期主题分支用于开发单一特性或修复问题,完成后合并到主分支。此模式确保代码稳定性,支持并行开发、便于审查和灵活调整。建议维护明确的长期分支,保持主题分支短小精悍,并定期清理无用分支。配置上可保护关键分支,遵循命名规范。
374 7
下一篇
oss教程