Git 工作流程

Git的工作流程概述 ○ 通过 git log 查看提交历史,git checkout 切换到过去某个提交的状态,或使用 git revert、git reset、git reflog 等命令进行更复杂的版本回溯和修改操作。○ 使用 git checkout 或 git switch 切换到不同的分支进行开发,例如 git checkout feature-x。○ 使用 git fetch 和 git merge 或 git rebase 来获取和整合他人提交的代码。○ 通过 git fetch 更新本地仓库中远程分支的信息。 阅读详情

在项目的源代码管理中,现在很多公司,很多项目组都会在内网架设一个Git 服务器,利用Git 来管理不同项目组的不同项目。

在自己的日常学习中, 我们利用Git来管理自己的项目的时候,在自己本地想怎么弄就怎么弄,弄坏了也不会影响别人。

但是处于一个项目组中,要跟其他同事一起来开发,那就不是这么简单了,一个弄不好,可能就把别人的努力给白费了。

所以,利用Git的分支特性,就有人归纳总结出了所谓的Git工作流。

一句题外话:总结是学习中一个很重要的阶段,能帮助一个人更好的回顾所学的知识,更好地掌握知识。

具体到每一个项目组中,每一天都会有新的代码产生,有新的功能要测试,有新的Bug要回归,有新的模块要上线,这么多的繁乱代码,要是都往一个分支上放,到时候有哪些代码是要上线的,有哪些不能上的,怎么打出这个版本的代码,会死人的。

master分支

在创建Git项目的时候,一般的默认分支都是master。

在master分支上,我们一般会放置比较稳定的代码。何谓稳定?就是已经发布到生产上的版本,正式给客户用的产品。


如果这一次上线失败,需要回滚,可以直接定位到上一个版本,实现回滚。同时,不用担心,在这个期间的改动会影响到这个分支的代码。

所以在master分支,一般只有在成功发布到生产环境上之后,才会将对应的代码给推送到对应的分支。

不过由于Git提交的是加密的一长串字符串,不好记,所以一般会利用打标签的方式,为每一次推送打对应的版本号,如上面的1.0等。

Develop 分支

而在发布版本之后到下一次发布版本之前,应该也必须定好下一次要发版的需求(这个计划很重要,会影响版本控制的质量)。项目中有多个开发人员,每一个人在本地开发完自己的功能点或者模块之后,必须确定是下一次要发版的代码,才将其推送到Develop分支。这样,才能由对应的测试组或者测试人员获取此分支下的内容来进行测试。

总结一下,Develop分支必须存放的是下一次要发版的需求功能点,当经过测试之后,直接拿此分支的内容发布到生产环境。发布成功,将此分支的内容推送到master分支上。


一般,Develop分支的内容经过测试,可能会需要几次修改才能测试通过,然后才上生产环境。

相比起master分支,Develop分支可能每天都会有更新,时时刻刻对应着项目组中最新的开发进度。

Release分支

有很多时候,当在Develop分支上实现了基本的功能之后,但是还没有通过测试的时候,项目组可能就会开始进入下一轮的需求开发了。这个时候可以基于Develop分支临时创建一个Release分支,一般叫做预发布分支。

这样在测试阶段产生的问题或者临时添加的功能点之类的就可以推送到这个分支上进行,然后基于此分支来测试和发布生产环境。

这样的好处就在于,Develop分支可以提前进入下一轮的需求开发,而不需要等这一轮的测试通过和发布。

不过有一点的要注意的就是,在Release分支上所做的修改,当发布到生产环境上之后,必须将对应的内容分别推送到master分支和Develop分支,尤其后一点要注意,因为Develop分支并没有Release后续的修改内容。

所以,在图上,我们会在master分支和Develop分支中间插入一个Release分支。


对于Release分支创建有个时机要掌握好的就是,只有当Develop分支基本上实现了这一次版本要发布的需求之后,Release分支存在的目的则只是对Develop分支的一些细节或者小小的完善。

而当其所做的修改推送到master分支和develop分支之后,就可以把它删了,直到下一次临发布前,再创建出来。

HotFix分支

测试总是没有我们想像中可靠的,很多时候上了生产环境之后,才会爆出一些之前根本没有想到的问题,从而需要马上进行修改,马上上线,这就是HotFix存在的意义。

因为Develop分支已经在进行下一轮的需求开发了,里面的代码跟稳定的master分支可能差别很大了,在本分支也已经提交多次了。

这个时候,可以基于发版的master分支,创建一个HotFix分支,在此分支上进行修改,修改完成,经过测试之后,上线,然后再将其修改推送到master和Develop分支。它跟Release分支有点类似,只是基于的分支不一样,但本质 上都应该是进行小修小补的分支,不适宜大动干戈。


同样的,跟Release分支类似,当急求完成之后,Hotfix分支也就完成了其存在的使命,可以将其删去了。

不过其跟Release分支还是有点不一样的,一般这种救急的分支修改的东西不会很多,都是会由某一个开发者完成,所以一般不需要在服务器上专门为其创建一个分支,只需要在本地修补完,然后推送到master分支和develop分支即可。

Feature分支

在Develop分支下面,还可以存在不同的Feature分支,其实这就是每位开发者在项目中每个迭代中需要完成的工作了。所以一般情况下,这些分支都是创建在开发者自己本地的环境上的。

当完成某个功能点之后,开发者就可以将对应Feature分支的内容推送到Develop分支上了。

结束。


立创·庐山派-K230-CanMV(嘉楠勘智)开发板通过ATK-ESP8266实现图像识别数据无线传输至原子云 本文详细介绍了如何使用立创·庐山派-K230-CanMV开发板,通过ATK-ESP8266 WIFI模块实现图像识别数据的无线传输至原子云平台。内容包括硬件连接、软件环境搭建、AT指令控制、原子云连接及数据上传的全过程,并提供了实用的调试技巧和常见问题解决方案,为物联网应用开发提供了完整实践指南。 阅读详情

相关推荐

ESP8266 进行HDLC解码,AX.25,APRS

/************************************************************** 函数名:aprs_wait_begin() 参 数:无 返回值:bool true=得到合法脉冲,false=未得到 说 明:等待第1个833us高脉冲,判断范围 730-930,其他忽略 ***************************************************************/ bool aprs_wait_begin(){ stati

蓝蓝的博客 1627

在企业中git的使用流程,看完少挨骂哦~

一、在前东家的欢乐时光 回忆:在上一家公司,由于做的项目规模不大,公司的开发流程以及体系不是太完善,在写代码时就是想到哪写到哪,没有人管,非常的 be real 非常的野 ~ 写代码提交的话直接是提交到master分支(因为我们没有测试,我们就是测试~嘿嘿嘿),只要不是逻辑走不通的,就直接提交。线上出现问题了再去解决。舒服 ~ 无形中我在git这个领域上挖了很多个坑… continue… 二、到了新公司填Git的坑 在我入职的第一天,刚坐到工位上的那一刻,我就开始控制不住我内心的野,想写bug了\⊙_⊙/…

是江迪呀 的博客 1万+

【Python・统计学】(两)多因素方差分析(原理及代码)

自学笔记,分享给对统计学原理不太清楚但需要在论文中用到的小伙伴,欢迎大佬们补充或绕道。ps:本文不涉及公式讲解(文科生小白友好体质)~(部分定义等来源于知乎) 本文重点:多因素方差分析 【1.多因素方差分析简单原理】 【2.多因素方差分析步骤】 【3.多因素方差分析代码】

TUTO_TUTO的博客 4864

git的使用——最全操作流程

git操作详细流程

forever__fish的博客 3万+

通信模组性能调优

本文介绍了高通平台通信模组性能调优的方法,主要包括硬件加速技术和CPU负载优化。针对CPU负载优化,提出了内核RPS/RFS功能启用、网卡队列调整、中断均衡、CPU性能模式设置等措施。同时建议关闭热管理并加强散热,调整TCP接收/发送缓存大小以解决TCP异常报文问题。这些优化手段可显著提高整机吞吐率测试中的网络性能表现。

四儿家的小祖宗的博客 1356

【WRF数据准备】土地利用数据-MODIS MCD12Q1数据下载及制备

【WRF数据准备】MODIS静态地理数据下载及制备

WW、forever的博客 3413

Git使用流程及技巧 - 详细教程

本篇文章以GitHub为例,系统为Windows系统。内容详细,包含各种初学者可能会遇到的问题和解决方案。既适合初学者,也适合有一定基础的用户。 文章内容为:本地库及远程库使用流程,设置多个SSH key,局域网内搭建Git远程仓库,合并冲突,减少冲突,撤销更改,版本回退,设置忽略规则(配置gitignore文件),配置gitattributes文件,使用rebase合并分支,IDE集成Git的使用流程,提升SSH传输速度,解决Git Bash命令行的中文乱码问题,解决换行符的替换问题,等等。

NSJim的博客 6797

三维点云转深度图

点云投影过程是将三维点云数据转化为二维图像坐标的关键步骤,它的实现涉及到相机内外参数的计算,包括相机的内部参数(如焦距和主点)和外部参数(如相机位置和方向)。具体来说,可以通过将每个点的三维坐标转换为相机坐标系下的坐标,然后使用相机内部参数和外部参数来计算在二维图像中的坐标。接着计算每个点的深度值,将深度值映射到像素值上,最后创建深度图像并将深度值赋给对应的像素值。这里需要注意的是,在将深度值映射到像素值上时,需要将像素值转换为 uchar 类型,否则在将深度值赋给像素值时会出现类型不匹配的错误。

点云兔子的博客 3171

git最详细的操作流程

1、git介绍 1、公司里多人协同开发一个项目,需要版本管理工具:svn,git 2、git可以实现版本控制 3、git,gitee,github,gitlab gitee:中国的github(很多公司在用) github:远程仓库,全球最大的开源代码库 gitlab:公司自己搭建的远程仓库,公司的代码放在上面 2、git工作流程 工作区: 开发程序的文件夹 暂存区: 修改后的文件临时暂存到内存中 本地版本库: 将写好的项目放在本地版本库中保存 服务器版本库: 将写好的项目放在

weixin_45620619的博客 1万+

【Frida Android】实战篇4:SSL Pinning 证书绑定绕过 Hook 教程(一)

在前两章中,我们学习了中间人抓包与 Hook 抓包的基础方法,这些方法在理想环境下能够有效获取网络请求数据。但在实际的企业级应用中,出于安全防护需求,很多 APP 会启用证书绑定(SSL Pinning)机制。这种机制会让客户端对服务器证书的校验更为严格,导致常规的抓包方法(即使将 BurpSuite/Charles 证书安装到系统信任区)也无法生效。因此,从本章开始,我们将系统学习 SSL Pinning 机制的绕过技术。SSL Pinning(证书绑定)是客户端校验服务器身份的进阶安全机制。

水滴石穿 1610

STM32F407+OV2640的DCMI+DMA双缓冲JPEG图像采集系统

在嵌入式视觉系统中,数字摄像头接口(DCMI)是MCU连接CMOS图像传感器的关键硬件通道,其与DMA协同实现零CPU干预的高速数据流采集;而JPEG作为一种基于DCT变换与量化压缩的有损图像格式,依赖传感器端硬件编码引擎才能满足实时性要求。理解DCMI三重同步时序(PCLK/HSYNC/VSYNC)与DMA双缓冲机制的流水线协作原理,是突破带宽瓶颈、避免FIFO溢出和帧丢失的技术基础。该架构广泛应用于智能硬件、工业检测与边缘AI前端等需低功耗、高可靠图像捕获的场景,本文以OV2640与STM32F407为

weixin_42103128的博客 156

git工作流程

原理 一、本地仓库搭建 (初始化) 两种方式 1.git init 2.git clone 二、git文件操作 如果两个人同时修改一个文件,则需要把分支合并 基本命令操作 1. 状态查看 `git status` 命令查看工作区文件是否被追踪(文件状态) 2. 添加到暂存区 git add 文件名 将单个文件添加到暂存区 git add . 将当前目录下所有修改或新增的文件全部添加到暂存区 ......

m0_62988965的博客 725

融合Retinex理论与Transformer的YOLOv8低光照目标检测增强方法【YOLOv8】

图像分解:将输入图像分解为光照成分和反射成分。光照估计:估计光照图以消除暗光区域。图像重建:将光照增强后的反射图像重建成最终图像。Retinexformer通过在Transformer中引入Retinex的图像增强思路,使得低光照图像的细节能够得到充分保留。本文提出了一种基于Retinexformer的低光照增强方法,用于改进YOLOv8模型在夜间和低光照环境下的目标检测性能。

博客 1929

常见 git 工作流程

一、简单的 Git 工作流程 最简单的 Git 工作流程是只有一个 master 分支。开发者直接把代码 commit 到 master 分支并且用该分支进行发版等操作,即不分测试版和正式版,由始至终使用一份代码,因此,这份代码的记录都是在同一分支的。 这种工作流程一般不被推荐使用,除非是开发者单独负责项目并且希望快速创建项目 因为只有一个分支,分支管理就无从谈起了,这让开发者可以轻松上手 Git,但是,使用这种工作流程,我们需要注意一些问题: (1) 在进行代码协作的时候可能会产生一些复杂的冲突 (2)

初见 602

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Git工作流程

大纲 1.Git工作流程是什么 2.为什么需要Git工作流程 3.有那些广泛的Git工作流程 4.如何使用Git工作流程 1.Git工作流程是什么 Git工作流程是有关如何使用Git以一致且富有成效的方式完成工作的秘诀或建议。 Gitflow 工作流定义了一个围绕项目发布的严格分支模型。 Gitflow 工作流没有用超出功能分支工作流的概念和命令,而是为不同的分支分配一个很明确的角色,并定义分支之间如何和什么时候进行交互。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FSH

Geek 340

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Git的工作流程

掌握规范的Git工作流程是团队协作的基石。建议结合团队实际选择合适的分支策略,并通过自动化工具(如Git Hooks)提升流程效率。立即实践这些技巧,让你的版本控制更加专业高效!Pro Git Book中文版Git官方备忘清单关于作者-曾牛,全栈开发者,专注于DevOps实践与高效协作工具研究。关注我的专栏获取更多技术干货!版权声明本文采用协议,转载请注明出处。

-曾牛的博客 841

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Git Flow工作流程简化Git操作

Git Flow工作流程 什么是Git Flow: Git Flow是使用Git在团队开发时进行源代码管理的一套行为规范。它把标准的Git命令用脚本组合了起来,简化了Git操作,这些脚本命令在一个预先定义的顺序下自动执行多个操作。Gitflow工作流为不同的分支分配一个很明确的角色,并定义分支之间如何和什么时候进行交互。 Git Flow是如何简化Git操作的? 我们通过一个案例,比较在同一项目下...

weixin_43522687的博客 285

git的基本工作流程,了解一下就可以很容易上手了

git 工作流程 一般工作流程如下: 1、git clone 克隆远程资源到本地目录,作为工作目录; 2、然后在本地的克隆目录上添加或修改文件; 3、如果远程修改了,需要同步远程的内容,直接git pull就可以更新本地的文件; 4、本地在修改之后,可以通过git status 查看修改的文件。然后使用git add 添加修改的文件暂到缓冲区; 5、在添加之后,可以使用git commit添加到当前的工作区; 6、在修改完成后,如果发现错误,可以撤回提交并再次修改并提交; 7、git push将本地的修改推

Sticktohope的博客 594

Git分支的工作流程(Git协作第三篇)

如果大家想详细学习建议从官方文档学习。

三木的博客 1620

git的工作流程和使用指令

git的使用Gi t的理解和使用1、基本概念1.1、什么是git1.2、工作区、暂存区、版本库、远程仓库2、工作流程2.1、业务开发工作流程2.12、git的工作流程3、Git具体使用参考 Gi t的理解和使用 1、基本概念 1.1、什么是git GIT,全称是分布式版本控制系统,git通常在编程中会用到,并且git支持分布式部署,可以有效、高速的处理从很小到非常大的项目版本管理。分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Gi

JMW1407的博客 729
上一篇: Git 远程仓库
下一篇: 由Git的SSH公钥到非对称加密
linmiansheng
博客等级 码龄20年 507粉丝 111原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值