Gitlab使用说明
|
权限
|
Guest
|
Reporter
|
Developer
|
Maintainer
|
Owner
|
|
Create new issues 创建议题
|
*
|
*
|
*
|
*
|
*
|
|
Leave comments 在线留言
|
*
|
*
|
*
|
*
|
*
|
|
Pull the project code 拉取代码
|
|
*
|
*
|
*
|
*
|
|
Download a project 下载项目zpi包
|
|
*
|
*
|
*
|
*
|
|
Create code snippets 创建代码片段
|
|
*
|
*
|
*
|
*
|
|
Create new merge requests 提交合并请求
|
|
|
*
|
*
|
*
|
|
Push changes to nonprotected branches 向未受保护的分支推送代码
|
|
|
*
|
*
|
*
|
|
Remove nonprotected branches 删除未受保护的分支
|
|
|
*
|
*
|
*
|
|
Add tags 添加标签
|
|
|
*
|
*
|
*
|
|
Write a wiki 写说明
|
|
|
*
|
*
|
*
|
|
Manage the issue tracker 管理议题
|
|
|
*
|
*
|
*
|
|
Add new team members 添加成员
|
|
|
|
*
|
*
|
|
Push changes to protected branches 向受保护的分支推送代码
|
|
|
|
*
|
*
|
|
Manage the branch protection 管理受保护的分支
|
|
|
|
*
|
*
|
|
Manage Git tags 管理标签
|
|
|
|
*
|
*
|
|
Edit the project 编辑项目信息
|
|
|
|
*
|
*
|
|
Add deploy keys to the project 添加项目部署密钥
|
|
|
|
*
|
*
|
|
Configure the project hooks 配置项目的钩子调用
|
|
|
|
*
|
*
|
- 项目:项目即代码仓库,一般一个代码仓库对应一个代码工程
- 受保护分支:“受保护”是相对而言,一般来说,受保护主要体现在以下方面:开发者角色是否可以push代码;开发者角色是否可以对已创建的合并请求操作合并
- 项目经理承担owner角色,负责创建代码仓库
- 项目经理酌情指派一名核心开发人员为maintainer角色,负责此代码仓库的日常管理如添加开发者、审核合并请求。目的是为了分担项目经理在代码管理方面的工作,建议不要肆意分配maintainer角色,因为该角色权力太大
- 项目开发人员分配developer角色,负责代码开发和提交合并请求
- 仅参与此项目的人员才分配角色,不参与此项目的人员无权查看
- 项目经理创建代码仓库
- 项目经理(或maintanier)添加开发人员
- 项目经理(或maintanier)基于master分支创建dev分支
- 开发人员基于dev分支创建feature分支
- 开发人员克隆gitlab中的仓库到本地
- 开发人员提交代码到本地仓库
- 开发人员push本地仓库到远程(gitlab)仓库
- 开发人员提交合并请求源分支为feature,目标分支为dev
- 项目经理(或maintanier)审核合并请求将多个feature分支代码合并到dev分支
- 项目经理(或maintanier)基于dev分支创建test分支
- 测试人员在test分支上做功能测试
- 开发人员基于test分支创建fixbug分支修改bug
- 开发人员提交合并请求,源分支为fixbug,目标分支为test
- 项目测试完毕
- 项目经理(或maintanier)创建prod分支做预发布测试
- 发布完毕,创建tag
- 项目经理(或maintanier)将prod分支合并到master分支
- 项目经理(或maintanier)基于已有代码仓库创建dev分支
- 项目经理(或maintanier)添加开发人员
- 开发人员基于dev分支创建feature分支
- 开发人员克隆gitlab中的仓库到本地
- 开发人员提交代码到本地仓库
- 开发人员push本地仓库到远程(gitlab)仓库
- 开发人员提交合并请求,源分支为feature,目标分支为dev
- 项目经理(或maintanier)审核合并请求将多个feature分支代码合并到dev分支
- 项目经理(或maintanier)基于dev分支创建test分支
- 测试人员在test分支上做功能测试
- 开发人员基于test分支创建fixbug分支修改bug
- 开发人员提交合并请求,源分支为fixbug,目标分支为test
- 项目测试完毕
- 项目经理(或maintanier)创建prod分支做预发布测试
- 发布完毕,创建tag
- 项目经理(或maintanier)将prod分支合并到master分支
- master:主分支,是受保护分支,不可直接push
- dev:开发分支,基本上可以跟着迭代走,每一个迭代一个dev分支,dev分支从master分支创建。是受保护分支,不可直接push
- feature:特性分支,也即功能开发分支,一般情况下feature和dev分支是如影随形关系。feature从dev分支创建,开发人员在feature分支开发代码,开发完毕提交MergeRequest,拥有合并权限(即maintainer角色)的开发人员(开发组长、项目经理等)完成代码审核(非必须)并合并到dev分支,运维人员在jenkins中构建dev分支,这样开发的功能就部署到开发环境了。
- test(或者叫release):测试分支,用于部署到测试环境的分支,从dev分支创建,是受保护分支,不可直接push。test分支代码测试完毕,合并到master。
- fixbug:bug修复分支,用于修改测试过程中测试人员提交的bug,从test分支创建,是修改bug的开发人员工作分支。
- hotfix://todo
- prod://todo
- 分支名包含三部分:分支类型,8位日期,分支描述
- 8位日期如20211024
- 分支描述用简洁小写英文单词或者汉语拼英首字母小写,中间用横线隔开
Gitlab使用说明的更多相关文章
- 持续集成+自动化部署[代码流水线管理及Jenkins和gitlab集成]
转载:https://www.abcdocker.com/abcdocker/2065 一.代码流水线管理 Pipeline名词顾名思义就是流水线的意思,因为公司可能会有很多项目.如果使用jenkin ...
- 一键部署基于GitLab的自托管Git项目仓库
https://market.azure.cn/Vhd/Show?vhdId=9851&version=11921 产品详情 产品介绍GitLab https://about.gitlab.c ...
- Dockerfile+Jenkinsfile+GitLab轻松实现.NetCore程序的CI&CD
一.相关介绍 Dockerfile:关于Dockerfile的使用说明,我在文章<让.NetCore程序跑在任何有docker的地方>中有说到,这里不在赘述,需要的可以先看下,本文主要介绍 ...
- CentOS8.1中搭建Gitlab服务器
依旧是写在前面的话♠:很多IT人从业N年也许都还没有亲自搭过一次Gitlab服务器,是不是?有木有?!通常都是背着自己的笔记电脑到一家公司入职,或入职后领到公司分配的电脑,然后分配了Git账号,拿了将 ...
- 将 maven repo 部署到 Gitlab
为什么要将 maven repo 部署到 Gitlab 将 Maven artifacts 放在对应的项目仓库下,而不是专门再去建一个 Maven 仓库.这么做使用起来更方便,更易于管理. 借助 Gi ...
- Atitit.项目修改补丁打包工具 使用说明
Atitit.项目修改补丁打包工具 使用说明 1.1. 打包工具已经在群里面.打包工具.bat1 1.2. 使用方法:放在项目主目录下,执行即可1 1.3. 打包工具的原理以及要打包的项目列表1 1. ...
- 创建SSH Key连接github或gitlab
mac下用SoureceTree下载github或gitlab上的项目时,需要进行ssh key验证.每次重装系统啥的都要重新弄,我在csdn上看到一篇不错的文章.转载一下,以后自己找起来也方便. 地 ...
- 【补充】Gitlab 部署 CI 持续集成
上一篇:<劈荆斩棘:Gitlab 部署 CI 持续集成> 上一篇所配置的.gitlab-ci.yml: stages: - build - test before_script: - ec ...
- 劈荆斩棘:Gitlab 部署 CI 持续集成
阅读目录: install configue gitlab-ci-multi-runner restore nuget packages bulid .sln run unit tests confi ...
- svn迁移gitlab,构建前端打包发布流程
前端资源迁移 目前公司的前端资源托管在svn服务器上,由于团队的逐渐扩大,svn的分支管控越来越不灵活,而且对于以后前端流程一体化的处理支持不是很好,因此决定在版本控制上转向git.git的好 ...
随机推荐
- Python 的 sum():Pythonic 的求和方法
摘要:Python 的内置函数sum()是一种对数值列表求和的有效且Pythonic 的方法.将多个数字相加是许多计算中常见的中间步骤,因此sum()对于 Python 程序员来说是一个非常方便的工具 ...
- 只需2步,教你在Vue中设置登录验证拦截
摘要:两步教你在Vue中设置登录验证拦截! 本文分享自华为云社区<两步教你在Vue中设置登录验证拦截!>,作者: 灰小猿 . 今天在做vue和springboot交互的一个项目的时候,想要 ...
- 十大 CI/CD 安全风险(四)
在上一篇文章,我们着重介绍 PPE 风险,并提供缓解相关风险的安全建议与实践.在本篇文章中,我们将会了解凭据使用环境管理不善与不安全的系统配置,并给出相应的风险缓解建议. 凭据使用管理不善 由于与凭据 ...
- vivo 悟空活动中台 - 栅格布局方案
本文首发于 vivo互联网技术 微信公众号 链接: https://mp.weixin.qq.com/s/6O0CH0U_WE1YkPK75m-jDQ作者:悟空中台研发团队 一.背景 今天来给大家分享 ...
- 2021 VDC :vivo 互联网服务亿级用户的技术架构演进之路
关注公众号[vivo互联网技术]--回复[2021VDC]获取大会PPT. 2021年12月16日,vivo 开发者大会圆满落幕.在互联网技术专场中,来自vivo 互联网技术的6位研发专家,从基础架构 ...
- springboot+vue实现 下载服务端返回的文件功能
开发中会遇到,通过浏览器下载服务器端返回的文件功能,本文使用springboot+vue实现该功能. 后端代码: 注:后端返回的文件名遇到中文就会乱码,一直也没得到很好的解决方案,最后就统一返回1.x ...
- C++跨DLL内存所有权问题探幽(三)导致堆问题的可能性
0xC0000374: 堆已损坏. (参数: 0x00007FFA1E9787F0). _Mem 是 nullptr 这里提供一个可能性,不一定是内存所属地址冲突的问题,除了MT和 MD编译,还有可能 ...
- php基础之PHP语言学习介绍
前言 PHP是网络安全中需要掌握的一门语言,但是就这么一点儿时间学网络安全,所以不可能特别精通PHP,这里并不是说要求你精通PHP,但是需要对于一些基础代码能够认识.能够编写那么就可以了. 同时,这里 ...
- 机器学习-决策树系列-GBDT算法-集成学习-30
目录 1. 复习 2. GBDT 3. gbdt应用于二分类: 3. gbdt应用于多类 4. 叶子节点输出值c的计算 5. GBDT的其他应用 6. GBDT+LR 代码实现 1. 复习 再开始学习 ...
- go 接口学习笔记
这里是对接口在汇编层面上转换和实现的小结,详细了解可参考 Go 语言接口的原理 1. 类型转换:结构体到接口 1.1 结构体方法实现接口 package main type Duck interfac ...