Gitlab操作流程

阶段1-构建账户信息

1.1 管理员分配账户

方式1-推荐

企业正常使用gitlab时,一般由项目经理(超级管理员)手动创建开发者账户信息,然后将账户发送给开发者,以便登录使用;

流程如下:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

点击创建用户按钮;

创建完用户后,可能指定的邮件地址接收不到账户激活信息,我们只直接添加密码信息:

在这里插入图片描述

方式2-临时开启注册功能自行注册

处于工作量的考虑,对于我们来说,超级管理员也可临时开启登录功能(只有超级管理员才拥有该权限):

操作流程如下:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

点击保存更改,普通用户就可以正常注册了;

这样访问http://47.96.143.141:9999/users/sign_in也可注册;

点击注册:

在这里插入图片描述

填写账户信息:

在这里插入图片描述

选择账户的角色:

在这里插入图片描述

点击get started 自动登录进入操作界面:

在这里插入图片描述

选择界面汉化:

在这里插入图片描述

说明:

【1】Gitlab用户在组中有角色权限:Guest、Reporter、Developer、Master、Owner
【2】Gitlab权限管理
	Guest:可以创建issue、发表评论,不能读写版本库,访客;
	Reporter:可以克隆代码,不能提交,QA、PM可以赋予这个权限,报告者; 可以理解为测试员、产品经理等,一般负责提交issue等;
	Developer:可以克隆代码、开发、提交、push,RD可以赋予这个权限,开发者;
	Master:可以创建项目、添加tag、保护分支、添加项目成员、编辑项目,核心RD负责人可以赋予这个权限,主要负责对master分支进行维护;
	Owner:可以设置项目访问权限 - Visibility Level、删除项目、迁移项目、管理组成员,开发组leader可以赋予 这个权限,一般是项目经理;
【3】Gitlab中的组和项目有三种访问权限:Private、Internal、Public
        Private:只有组成员才能看到★★★
        Internal:只要登录的用户就能看到
        Public:所有人都能看到
        开源项目和组一般设置为public

阶段2-添加用户开发组

2.1.构建用户组

构建项目组一般是由项目经理来构建:

注意事项:我们的组名:jrzs_147_g1,格式:项目名称_期_gN

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

2.2. 用户组添加用户

在这里插入图片描述


在这里插入图片描述


阶段3-构建项目

3.1.用户组构建新项目

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

3.2 配置ssh免密登录

配置ssh免密登录(可选项):

  1. 生成秘钥指令:
ssh-keygen -t rsa (3个回车)
  1. 赋值pub公钥,并在gitlab中配置,过程与配置gitee一致:

在这里插入图片描述

在这里插入图片描述

3.3 配置本地仓库开发人员信息

接下来,git init初始化本地git仓库,并设置用户相关信息,这样提交时就会显示对应配置的用户名信息了:

git config user.name 'lisi1'
git config user.email '666@163.com'

开发组长将初始化代码提交到远程仓库,然后构建dev分支:

在这里插入图片描述

在这里插入图片描述

平台构建好dev分支后(也可本地构建dev分支,然后推送到远程),本地需要git fetch刷新分支最新配置;

3.4.设置分支保护

团队开发时为了避免一些重要的开发分支(master)被意外篡改,管理人员需要将这些重要的分支设置分支保护,这样普通开发人员就不能直接将代码进行推送和合并了,需要专门的分支管理人员(开发组长)维护重要分支的提交、合并操作;

设置分支保护流程如下:

在这里插入图片描述


在这里插入图片描述

临时禁用自动持续集成:

在这里插入图片描述

3.5.开发人员开发流程

1)普通开发者代码拉取

构建一个文件夹,然后在文件夹中克隆工程基础代码:

#因为项目的私有的,所以克隆代码时,要制定对应的账户和密码,否则无权限下载;
#格式:git clone http://账号:密码@47.96.143.141:9999/jrzs_142_tmp_g2/jrzs_stock_tmp.git
$ git clone http://lisi2:12345678@47.96.143.141:9999/jrzs_142_tmp_g2/jrzs_stock_tmp.git

然后使用idea打开代码,并设置当前用户信息:

C:\Users\46035\Desktop\lisi2\jrzs_stock_tmp>git config user.name
陆庆辉
C:\Users\46035\Desktop\lisi2\jrzs_stock_tmp>git config user.email
777@163.com

2)检出dev分支

接下来开发人员手动检出远程dev分支:

在这里插入图片描述

在这里插入图片描述

这样本地就会构建一个dev分支!

3)基于dev分支检出功能分支

对于普通开发人员来说,工作都围绕dev分支展开,而实际开发中,为了避免直接污染dev分支,一般开发人员会在dev的基础上checkout出一个功能分支:比如feature_login

在这里插入图片描述

4)合并功能分支到dev分支

在功能分支下开发完毕后,将代码合并到dev分支下:

在这里插入图片描述

在这里插入图片描述

到此,feature_login代码就合并到dev分支下了!

5)推送远程dev

开发人员自测代码无问题后,就可以将代码提交到远程dev分支了:

在这里插入图片描述

说明:开发者推送代码到dev后,一般测试人员会介入,测试ok后,分支管理人员会进行受保护分支的合并工作(在自动化工作流汇中,测试通过后,会自动合并);

3.6.管理员合并代码到master

1) 流程

管理员在合并代码之前,先把最新的dev代码拉去到本地,然后做基本的审查工作:

在这里插入图片描述

在这里插入图片描述

此时本地仓库拉取到了最新的dev代码,代码检查无误后合并到master分支:

在这里插入图片描述

代码合并到master分支后,提交到远程的master分支即可;


2)最终效果

不同的开发人员共同维护master和dev分支,最终提交记录线:

在这里插入图片描述

反例:

在这里插入图片描述

跨域不同的分支 合并代码,容易丢失代码;

3.7.回滚操作

通过revert提交则会产生新的提交记录;

本质上就是在新的提交记录下做了逆向操作,实现回滚;

在这里插入图片描述

获取通过reset回滚时,最新的提交记录不会消失;

在这里插入图片描述

3.8.GIT打TAG

1)打标签概述

当项目开发到一些重要阶段后,会进行软件不同版本的发布部署工作,显然如果不记录下这些重要的历史节点,后期从繁杂的提交流水看中查找会变得非常艰难,所以git提供了为开发节点打标签的功能:

在这里插入图片描述


在这里插入图片描述

2)tag其它

详见:day07-实战\资料\3.项目使用GitLab流程\git打tag规范;

g-klcYQZyQ-1708334617624)]

3.8.GIT打TAG

1)打标签概述

当项目开发到一些重要阶段后,会进行软件不同版本的发布部署工作,显然如果不记录下这些重要的历史节点,后期从繁杂的提交流水看中查找会变得非常艰难,所以git提供了为开发节点打标签的功能:

在这里插入图片描述


在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/396594.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

从零开始学习Netty - 学习笔记 - NIO基础 - ByteBuffer: 简介和基本操作

NIO基础 1.三大组件 1.1. Channel & Buffer Channel 在Java NIO(New I/O)中,“Channel”(通道)是一个重要的概念,用于在非阻塞I/O操作中进行数据的传输。Java NIO提供了一种更为灵活和高效的I/O处理方…

vue 使用Html2Canvas对元素截图 下载

介绍 官网:https://html2canvas.hertzen.com/ 一款轻量化的网页截图工具,可以对元素截图下载,只有几十KB,很强大,例如程序发送错误,就可以调用方法继续截图,或者用户在干什么都可以继续记录。 …

戴尔Dell R740服务器开机冒烟亮黄灯故障维修

今天分享的是一台过保修期的DELL PowerEdge R740服务器开机冒烟的维修案例。先上图: 接到用户报修后工程师立即响应,由于用户也是刚开工第一天服务器开机就出现了这种祥龙吐雾的祥兆,导致工厂业务流程无法正常使用,这台机器在东莞…

TSINGSEE智能分析网关V4的AI算法在消防场景中有哪些应用?

随着科技的不断创新和发展,人工智能已经成为现代社会的重要组成部分。除了在交通、医疗、电力等领域得到了广泛应用外,人工智能在消防领域也有着广泛的应用。AI烟火识别算法作为TSINGSEE青犀视频AI智能分析网关V4的重要组成部分,在城市消防领…

Vuex学习记录

目录 一、Vuex概述 1.1Vuex是什么 1.2使用Vuex统一管理的好处 1.3什么样的数据适合存储在Vuex中 二、Vuex的基本使用 2.1创建Vuex项目 视图式(版本:vue3vuex4) 命令式( 版本:vue2vuex3) 可自定义选…

安全架构设计理论与实践

一、考点分布 安全架构概述(※※)安全模型(※※※)信息安全整体架构设计网络安全体系架构设计区块链技术(※※) 二、安全架构概述 被动攻击:收集信息为主,破坏保密性 主动攻击&#…

【数据结构】每天五分钟,快速入门数据结构(一)——数组

目录 一.初始化语法 二.特点 三.数组中的元素默认值 四.时间复杂度 五.Java中的ArrayList类 可变长度数组 1 使用 2 注意事项 3 实现原理 4 ArrayList源码 5 ArrayList方法 一.初始化语法 // 数组动态初始化(先定义数组,指定数组长度&#xf…

计算机网络概论和数据通信基础

文章目录 计算机网络概论从物理构成上看,计算机网络包括硬件、软件和协议三大部分计算机网络的功能组成计算机网络的分类网络体系结构分层与体系结构接口、协议和服务数据传送单位OSI模型TCP/IP模型 数据通信基础数字信号调制为模拟信号正交振幅调制QAM 模拟数据编码…

vue框架-vue-cli

vue-cli Vue CLI是一个官方的脚手架工具,用于快速搭建基于Vue.js的项目。Vue CLI提供了一整套可配置的脚手架,可以帮助开发人员快速构建现代化的Web应用程序。 Vue CLI通过提供预先配置好的Webpack模板和插件,使得开发人员可以在不需要手动编写Webpack配置的情况下快速创建…

专145+总420+哈尔滨工业大学803信号与系统和数字逻辑电路考研经验哈工大电子信息与通信,真题,大纲,参考书。

自从高考失利没有考入哈工大,一直带着遗憾,今年初试专业课803信号与系统和数字逻辑电路145,总分420顺利圆满哈工大,了却了一块心病,回看这一年的复习起起落落,心中的那块初心,让我坚持到了上岸&…

Linux中信号机制

信号机制 信号的概念 概念:信号是在软件层次上对中断机制的一种模拟,是一种异步通信方式 所有信号的产生及处理全部都是由内核完成的信号的产生: 1 按键产生 2 系统调用函数产生(比如raise, kill) 3 硬件…

内存计算研究进展-通用的近数据计算架构

通用的近数据计算架构方面代表性工作有: AMD Research的 TOP-PIM,Carnegie Mellon Univeristy 的 TOM, University of Wisconsin-Madison 的 DRAMA 和 NDA,Seoul National University 的 PEI ,IBM Research 的 AMC (ac…

算法-矩阵置零

1、题目来源 73. 矩阵置零 - 力扣(LeetCode) 2、题目描述 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1: 输入:matrix [[1,1,1],[1,0,1…

MySQL错误-this is incompatible with sql_mode=only_full_group_by完美解决方案

项目场景 有时候,遇到数据库重复数据,需要将数据进行分组,并取出其中一条来展示,这时就需要用到group by语句。 但是,如果mysql是高版本,当执行group by时,select的字段不属于group by的字段的…

阿里云幻兽帕鲁Windows 服务器怎么下载存档?

阿里云幻兽帕鲁Windows 服务器怎么下载存档?通过远程连接window服务器桌面的方式。 远程连接到阿里云的 Windows 服务器后,可以将压缩后的存档文件,拖动到 workbench\Download 目录后,就会触发浏览器的文件下载,然后将…

数据结构排序:插入排序、希尔排序、选择排序、冒泡排序、堆排序、快速排序

文章目录 插入排序希尔排序选择排序冒泡排序堆排序快速排序 插入排序 基本思想: 直接插入排序是一种简单的插入排序法,其基本思想是: 把待排序的值按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的记录插入完…

基于STL的演讲比赛流程管理系统(个人学习笔记黑马学习)

1、演讲比赛程序需求 1.1比赛规则 学校举行一场演讲比赛,共有12个人参加。比赛共两轮,第一轮为淘汰赛,第二轮为决赛。每名选手都有对应的编号,如 10001~10012比赛方式:分组比赛,每组6个人;第一轮分为两个小组&#xff…

Leetcode日记 226. 翻转二叉树 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。

Leetcode日记 226. 翻转二叉树 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 二叉树简介二叉树分类解题方法制作不易,感谢三连,谢谢啦 二叉树简介 二叉树(Binary Tree)是一种特殊的树形…

读写分离的利器——MySQL Proxy

0 引言 MySQL Proxy是一个位于客户端和MySQL服务器端之间的程序,通过它可以实现监听和管理客户端与MySQL服务器端之间的通信,最大的作用是实现数据库的读写分离,从而达到负载均衡的目的。 MySQL Proxy的常用用途包括负载平衡、故障分析、查…

神经网络——循环神经网络(RNN)

神经网络——循环神经网络(RNN) 文章目录 神经网络——循环神经网络(RNN)一、循环神经网络(RNN)二、循环神经网络结构1、一对一(One to One)2、一对多(One to Many&#…
最新文章