目录
一、分支
先了解一下Git分支在实际中的作用
分支不是GIT的专利,早在CVS时代就有了。分支对于团队来说作用太大了。比如说一个项目现在是2.0版,1.0的版本已经交付给客户进行使用,但是在1.0的版本上有BUG,那么开发团队可能要同时进行1.0版的Bug修复和2.0版的开发,这样代码就会出现较大分歧。这时候就需要用到分支了,不同的任务组在不同的分支上开发,互相之间不会影响。再比如说,需要向项目中添加一个新功能,一般的团队都不会直接在主分支上修改,都会新建一个分支,在上面更改代码。这样做的好处就是保证主线代码的完整性和可用性,也就是说,主线上都是稳定的代码,可以直接拿来发布的。
分支的命名规范
dev/test/pre/pro(即master)
在项目的时候是有不同的环境,比如一下几个:
四个环境以及各自的特点
四个环境分别是:dev、test、pre、pro(master),中文名字:开发环境、测试环境、灰度环境、生产环境
dev环境:开发环境,外部用户无法访问,开发人员使用,版本变动很大。
test环境:测试环境,外部用户无法访问,专门给测试人员使用的,版本相对稳定
pre环境:灰度环境,外部用户可以访问,但是服务器配置相对低,其它和生产一样。
pro(master)环境:生产环境,面向外部用户的环境,连接上互联网即可访问的正式环境。
分支策略
在实际开发中,我们应该按照几个基本原则进行分支管理:
1.首先,pro分支(即master)应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;2.那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,
再把dev分支合并到master上,在master分支发布1.0版本3.修复bug时,我们会通过创建新的bug分支(即test)进行修复,然后合并,最后删除;
4.当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场
二、标签、版本
Tag格式: 主版本号.次版本号.修订号-类型标签,其中类型标签可为:alpha、beta、rc、r。
Tag示例:1.0.0-alpha、1.0.0-beta、1.0.0-rc、1.0.0-r
有的公司在版本命名时,前面加v,“-”替换成“_”,更加详细一点还可以在修订号后面添加发布日期
v1.0.0.191220_alpha,这都是可以的
分支与标签的关系
dev-->alpha
test-->beta
pre-->rc
pro-->r