企业中多分支多人协作的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

相关文章
|
3月前
|
敏捷开发 测试技术 持续交付
阿里云云效产品使用合集之如何将个人账号下的Git仓库转移到企业账号下
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
1月前
|
开发工具 git
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
这篇文章是关于Git常用命令的总结,包括初始化配置、基本提交、分支操作、合并、压缩历史、推送和拉取远程仓库等操作的详细说明。
107 1
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
|
1月前
|
开发工具 git 开发者
关于git 解决分支冲突问题(具体操作,包含截图,教你一步一步解决冲突问题)
本文通过具体操作和截图,详细讲解了如何在Git中解决分支冲突问题,包括如何识别冲突、手动解决冲突代码、提交合并后的代码,以及推送到远程分支。
335 3
关于git 解决分支冲突问题(具体操作,包含截图,教你一步一步解决冲突问题)
|
2月前
|
缓存 开发工具 git
Git创建分支以及合并分支
在Git中,创建分支使用`git branch [branch_name]`,切换分支使用`git checkout [branch_name]`。修改文件后,通过`git add [file]`添加到暂存区,然后`git commit`提交到本地仓库。如果是新建分支的第一次推送,使用`git push origin [branch_name]`推送到远程仓库,之后可以简化为`git push`。合并分支时,使用`git merge [branch_name]`将指定分支的更改合并到当前分支。
68 2
Git创建分支以及合并分支
|
1月前
|
开发工具 git
Git分支使用总结
Git分支使用总结
35 1
|
1月前
|
编译器 开发工具 数据安全/隐私保护
Git——多人协作/版本控制,在一个gitee仓库下开发(Gitee版教程)手把手教学,包好用的!
本文提供了一个关于如何在Gitee上进行多人协作和版本控制的详细教程,包括新建和初始化仓库、克隆仓库、邀请好友共同管理仓库以及注意事项,旨在帮助用户顺利进行代码协作开发。
178 0
Git——多人协作/版本控制,在一个gitee仓库下开发(Gitee版教程)手把手教学,包好用的!
|
2月前
|
存储 Linux 开发工具
Git基础命令,分支,标签的使用【快速入门Git】
本文详细介绍了Git版本控制系统的基础概念和常用命令,包括工作区、暂存区和版本库的区别,文件状态的变化,以及如何进行文件的添加、提交、查看状态、重命名、删除、查看提交历史、远程仓库操作和分支管理,还涉及了Git标签的创建和删除,旨在帮助读者快速入门Git。
Git基础命令,分支,标签的使用【快速入门Git】
|
2月前
|
测试技术 开发工具 git
掌握 Git 分支策略:提升你的版本控制技能
在现代软件开发中,版本控制至关重要,Git 作为最流行的分布式版本控制系统,其分支管理策略对于高效协作和代码维护尤为重要。本文介绍了几种常用的 Git 分支策略,包括主线开发模型、功能分支模型、Gitflow 工作流和 Forking 工作流,并探讨了如何根据项目需求选择合适的分支模型。通过保持 `master` 分支稳定、及时合并清理分支、使用命名规范、利用 Pull Request 进行代码审查及自动化测试等最佳实践,可以显著提升团队协作效率和软件质量。掌握这些策略将帮助开发者更好地管理代码库,加快开发流程。
|
3月前
|
开发工具 git 开发者
|
2月前
|
图形学 开发工具 git
Unity与版本控制:游戏开发团队如何利用Git打造高效协作流程,实现代码管理的最佳实践指南
【8月更文挑战第31天】版本控制在软件开发中至关重要,尤其在Unity游戏开发中,能提升团队协作效率并避免错误。本文介绍如何在Unity项目中应用版本控制的最佳实践,包括选择Git、配置项目以排除不必要的文件、组织项目结构、避免冲突、规范提交信息以及使用分支管理开发流程,从而提高代码质量和团队协作效率。
200 1