前言

       团队开发中,遵循一个合理、清晰的Git使用流程,是非常重要的。否则,每个人都提交一堆杂乱无章的commit,项目很快就会变得难以协调和维护。

一、gitlib介绍

        GitLab 是一个用于仓库管理系统的开源项目。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用。

        gitlab主要用于私用,github主要用于公网,都可看成web版的git

二、分支说明与管理

1.1主分支Master

        代码库应该有一个、且仅有一个主分支。所有提供给用户使用的正式版本,都在这个主分支上发布。

       Git主分支的名字,默认叫做Master。它是自动建立的,版本库初始化以后,默认就是在主分支在进行开发。        

1.2开发分支Develop

        Develop为开发分支,一般包含正在开发的所有新特性,用于测试环境部署和测试,通常是开发从master上拉取。

1.3预发布分支Release

        预发布分支,最终测试版本(公测版),只会有微小改动,通常也是线上的发布分支,待发布线上验证通过后,Release分支才会合并master,Release分支是master的版本快照。

        同时遇到特殊需求,比如说需要为特定需求方上一个版本,可以使用特殊命名作为release版本从master分支拉取。

1.4日常修复分支Fixbug

     软件正式发布以后,难免会出现bug。这时就需要创建一个分支,进行bug修补。 日常修复分支,修补 bug 分支是从 Master 分支上面分出来的。修补结束以后,再合并进 Master和Dev分支。

1.5特性分支Feature

        特性分支,由开发从dev分支拉取,每新增一个模块,拉取一个feature分支,部署验证无误后合并至Dev中。

 

2.分支命名规则


release_模块名_版本_时间

bugfix_模块名_bug名_时间

feature_模块名_(功能模块)_版本_时间 

*当模块无新增功能模块时可不带“功能模块”

三、代码管理流程

四、gitlab角色分配

Guest (访客):
        可操作权限:可以创建issue、发表评论。
        不可操作权限:不能读写版本库。

Reporter(记者):QA、PM可以赋予这个权限
        可操作权限:可以克隆代码。
        不可操作权限:不能提交。

Developer(开发者):RD可以赋予这个权限
        可操作权限:可以克隆代码、开发、提交、push。
        不可操作权限:不能进行读写版本库。

Maintainers(维护者):核心RD负责人可以赋予这个权限
        可操作权限:可创建项目、添加tag、保护分支、添加项目成员、编辑项目。
        不可操作权限:不能读写版本库。

Owner(所有者):(开发组leader可以赋予这个权限)
        可设置项目访问权限 - Visibility Level、删除项目、迁移项目、管理组成员。

访问权限:

Private:只有组成员才能看到
Internal:只要登录的用户就能看到
Public:所有人都能看到
 

五.自动化部署jenkins

​​​​​​​

 

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐