项目Git分支管理及创建规范

项目Git分支管理及创建规范

hello,git用法和命令都学会了,然鹅在实际工作中发现对于项目版本管控也很重要,在新的项目开发中没怎么重视过分支管理版本管理,在后期的部署中带来和很多麻烦,于是学习了一下git的分支管理,现将内容总结一下

Git分支管理

简介

git分支只要有 主分支其他分支

主分支:主分支是所有开发活动的核心分支。所有的开发活动产生的输出物最终都会反映到主分支的代码中。

其他分支:其他开发活动创建的分支,如hotfix分支(紧急修复),release(发布新版本)等分支

master分支

作用: master分支上存放的应该是随时可供在生产环境中部署的代码(Production Ready state),是当前系统的稳定版本。当开发活动告一段落,产生了一份新的可供部署的代码时,master分支上的代码会被更新。同时,每一次更新,都有对应的版本号标签(TAG)。

develop分支

作用:develop分支是保存当前最新开发成果的分支。也就是我们开发环境运行,测试环境部署的代码。通常这个分支上的代码也是可进行随时发布部署的代码(Nightly build)。因此这个分支有时也可以被称作“integration branch”。

合并:develop分支上的代码已实现了当前版本中所有的迭代开发的功能,通过了所有的测试后,并且代码已经足够稳定时,就可以将所有的开发成果合并回master分支了。对于master分支上的新提交的代码建议都打上一个新的版本号标签(TAG),供后续代码跟踪使用。

release分支

创建: 当develop分支上的代码已经开发完成,包含了所有即将发布的版本中所计划包含的软件功能,并且已通过所有测试时,我们就可以考虑准备创建release分支了。注意:而所有在当前即将发布的版本之外的业务需求一定要确保不能混到release分支之内(避免由此引入一些不可控的系统缺陷)。

作用: release分支是为发布新的产品版本而设计的。在这个分支上的代码允许做小的缺陷修正、准备发布版本所需的各项说明信息(版本号、发布时间、编译时间等等)。通过在release分支上进行这些工作可以让develop分支空闲出来以接受新的feature分支上的代码提交,进入新的软件开发迭代周期。

使用: 从develop分支派生,必须合并回develop分支和master分支

hotfix分支

创建:正式生产环境软件遇到了异常情况或者发现了严重到必须立即修复的软件缺陷,对软件进行紧急修复工作。从master分支上指定的TAG版本派生hotfix分支

作用:hotfix分支用来进行软件代码的紧急修复工作。hotfix分支与release分支十分相似,都可以产生一个新的可供在生产环境部署的软件版本。

使用: 从master分支派生,必须合并回develop分支和master分支

feature分支 (不常用)

feature分支(有时也可以被叫做“topic分支”)通常是在开发一项新的软件功能的时候使用,这个分支上的代码变更最终合并回develop分支或者干脆被抛弃掉(例如实验性且效果不好的代码变更)。

一般而言,feature分支代码可以保存在开发者自己的代码库中而不强制提交到主代码库里。

你可能感兴趣的:(Git学习,git,java)