之前的都是基础git操作。但是我们知道git的作用主要是“分布式版本控制”,这个特质只有在团队协作的时候才会被最大程度发挥出来。
今天就来学习一下协作中最重要的分支
一、分支的意义
事实上,在目标节点明确的情况下,不知道分支这个概念是不会影响开发的。
那么这个分支的意义是什么呢?
我们都知道,版本控制服务的作用是管理代码的不同版本 到目前为止,我们都是在一条线上进行开发。然后我们发现一条线满足不了某些需求 (提交代码受限、团队开发阻塞、历史版本bug修复不便) 我们先想一下,怎样解决这些问题呢?如果版本控制系统可以支持多条线的话......
图片来自小汇Git教学,以下同
二、release分支
开发过程中,会存在各种各样的配置,这些配置
有些是不区分环境的,在开发、测试、线上环境都是一样的有些是区分环境的,在开发、测试、线上环境可能不一样 对于需要区分环境的配置,在更改环境之前,需要先修改对应的配置
(在Java开发中,可以在工程启动的时候,指定一个环境参数,程序会判断这个参数然后读取不同的配置文件,但是依然解决不了SNAPSHOT 和正式版的问题) 实际研发中,流程可能是这样的——
这种繁琐、容易出错的体力劳动迫使工程师们思考︰如何避免?如果避免不了,能否简化一点?之所以需要来回改动,是因为不同环境所需要的配置不一样(特别是线上环境)
能不能做到只是在上线之前修改一次呢?
改成线上配置以后,不影响开发分支。如果是这样的话,开发人员在平常的开发过程中,就不需要关心线上配置的问题 只需要在每次上线之前,弄一下就行。这个可以交给测试去做,甚至可以做成自动化的
下面是改进后的方案: