论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
数据库
›
SQL-Server
›
【Git分支管理】分支计谋 | Bug分支
【Git分支管理】分支计谋 | Bug分支
宁睿
论坛元老
|
2024-7-17 09:04:49
|
显示全部楼层
|
阅读模式
楼主
主题
1082
|
帖子
1082
|
积分
3256
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
目录
1.分支计谋
2.特别场景-Bug分支
2.1 master出现bug
2.2 dev2正在开发☞stash地区
2.3 dev2正在开发master出现bug
2.3.1 fix_bug修复bug和master合并
2.3.2 dev2分支开发完和master合并
合并冲突:merge☞手动解决☞提交
没有合并冲突:merge(包罗了提交)
初学git请画图操作,画图清晰明了。
1.分支计谋
Git分支管理需要服从的几个基本原则:
线上环境:用户可以或许正常访问的内容都属于线上环境。
线上环境非常稳固(不能出现卡顿、退出程序,这些情况都是不被允许的)以是,线上环境要求是稳固且严格。
线上跑的代码是master主分支的代码。master分支必须是稳固的,才可以保证线上环境是稳固的。才可以摆设在线上环境。
日常开发环境:开发职员提交的代码,还未颠末测试验证。(是不稳固的,存在Bug)用户不大概访问日常开发环境的。
测试团队:公司里面常常存在一些测试团队。帮助测试开发好的代码。颠末一系列的测试,终极将稳固的代码
合并到master分支
上。
综上所述:可以表现Git分支的重要性。没有分支管理是不能完成上述这套流程的。
线上环境跑的代码都是master主分支的稳固代码(都是稳固的提交)
增加一个新的功能(需要开发):基于master的最新一次提交创建一个新的分支dev1。
若同时又增加了多个新功能,以是同时基于master创建多个分支dev2 dev3.....多个开发职员同时协同开发。
分支管理计谋:
Git在项目中可以实行 ——多人协作开发
合并分支保举使用❗:no-ff模式
开发完成测试稳固之后,提交之后,再和master主分支合并(no-ff模式),有冲突解决冲突提交,没有冲突直接合并再提交。
【合并冲突no-ff模式】
【没有合并冲突no-ff模式】
2.特别场景-Bug分支
2.1 master出现bug
先容下在使用git的时间遇到一个场景:
线上环境是一个稳固的环境。它摆设的是master主分支上的代码。master主分支上的代码就是一个稳固的代码。
我们日常生存中使用网站,APP都遇到过卡死,退出这个网站的情况。(线上环境也不是100%稳固的)此刻就是master主分支的代码出现了bug。
怎样处理这种情况呢❓直接在master主分支去进行代码的修复吗❓不可以。
答复:
就是基于当前master的最新一次提交记载,创建一个bug分支。
再bug分支上,去修改这个bug。当这个bug修改完,再在分支上提交了,再切换至master合并(no-ff模式)即可。
2.2 dev2正在开发☞stash地区
有如下情景:
基于master创建一个dev2分支,而且在dev2分支上开发了新增功能部分代码(正在开发....),且并没和master合并提交。
file2文件是只有一份的。在dev2上开发新功能的代码时(没有提交),切换至master也可以看到file2文件开发代码。(只是影响工作区)
固然没有影响本地堆栈,但是我们此刻任然不想对master分支工作区的文件做出任何修改。仅仅只在dev2分支上修改开发。(切换到master的时间并不会影响它)
怎么解决呢❓
答复:
需要先切换到dev2分支上。将新功能开发的代码保存在版本库中stash地区。
使用的命令:git stash
stash地区使用:
git stash :将开发的代码存储进stash地区。
stash地区
:保存工作区的修改内容。(保存之后此刻dev2和master的ReadMe文件都没有)
stash地区
:.git堆栈版本库里 存在一个地区称为stash,保存工作区的文件的修改
注意
:里面存储的是已经被git追踪管理的文件的内容,没有被.git追踪管理的文件是不会被stash保存的。
修复完bug,把stash地区保存的file2新功能开发的内容规复到dev2分支上继承开发。
git stash list : 展示stash地区存储哪些文件
git stash pop:将stash地区存储的内容,规复到dev2分支上继承开发
【出现题目☞切换至master,master中有dev2上开发的代码】
【保存至stash地区】
【保存至stash地区之后☞master和dev2分支上新功能开发的代码都不在了】
【没有被git追踪管理文件不会被存储在stash里面】
【把stash地区存储的内容规复到dev2分支上】
2.3 dev2正在开发master出现bug
2.3.1 fix_bug修复bug和master合并
在以上情景根本上(下面例子我们以
file2文件
为例):
起首基于master创建一个dev2分支,而且在dev2分支上开发了新增功能部分代码(正在开发....),且并没和master合并提交。
此时,在开发的过程中,我们发现master分支上出现了一个bug。
怎样处理这种情况❓可以或许直接在dev2上去修复代码吗❓
答复:
不能直接在dev2上进行bug修改,违背dev2分支创建的初衷。(dev2是用来开发代码分支)以是我们需要基于master重新创建一个bug分支去修改master的bug。
假设:bug是hello liuxn应该是hello git
先将dev2开发的代码保存在stash地区
切换至master分支
基于master创建一个fix_bug分支(用于修改master的bug)
切换至fix_bug分支,修改bug
切换至master分支,合并fix_bug分支(no-ff模式)
删除fix_bug分支
切换至dev2分支,继承开发....(在dev2分支上bug没有修复,不影响)(缘故原由:dev2是基于master有bug版本创建的)
开发完成,切换至master分支,合并dev2分支(no-ff模式)
删除dev2分支
2.3.2 dev2分支开发完和master合并
解决master和dev2分支合并冲突题目
第一种方式
:手动解决☞很大概出现新的bug
第二种方式(保举使用)
:
切换至dev2分支上合并master。
就算有冲突也可以在dev2本地分支上修改,不影响master分支。dev2上修改,并不影响master主分支。
在master合并dev2的分支之前,先在dev2分支上和master合并,并修改好合并冲突以及存在的bug。
再切换至master分支合并dev2。
【代码演示】
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
宁睿
论坛元老
这个人很懒什么都没写!
楼主热帖
java前置学习
【RocketMQ】消息的存储
iOS Widget
简单的用Python对手机号进行加密 ...
【PostgreSQL】PostgreSQL重建与主库不 ...
k8s v-1.20版本部署详细过程[实测可用 ...
基于单片机的压力测控仿真设计(#0024) ...
❤️肝下25万字的《决战Linux到精通》 ...
Unity 将是驱动 C# 增长的引擎吗 ? ...
【iOS面试总结】疫情隔离中,线上面试 ...
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
Postrge-SQL技术社区
DevOps与敏捷开发
Oracle
分布式数据库
移动端开发
物联网
IOS
Mysql
快速回复
返回顶部
返回列表