Gitlab操作流程

阶段1-构建账户信息

1.1 管理员分配账户

方式1-推荐

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

流程如下:

点击创建用户按钮;

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

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

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

操作流程如下:

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

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

点击注册:

填写账户信息:

选择账户的角色:

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

选择界面汉化:

说明:

tex 复制代码
【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.构建用户组

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

tex 复制代码
注意事项:我们的组名:jrzs_147_g1,格式:项目名称_期_gN



2.2. 用户组添加用户



阶段3-构建项目

3.1.用户组构建新项目



3.2 配置ssh免密登录

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

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

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

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

shell 复制代码
git config user.name 'lisi1'
git config user.email '666@163.com'

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

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

3.4.设置分支保护

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

设置分支保护流程如下:


临时禁用自动持续集成:

3.5.开发人员开发流程

1)普通开发者代码拉取

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

shell 复制代码
#因为项目的私有的,所以克隆代码时,要制定对应的账户和密码,否则无权限下载;
#格式: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打开代码,并设置当前用户信息:

shell 复制代码
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提供了为开发节点打标签的功能:


相关推荐
裁二尺秋风20 小时前
CI/CD — Pipeline的使用以及Blue Ocean多分支流水线的使用方法
ci/cd·gitlab·jenkins
北海之灵1 天前
docker desktop部署本地gitlab服务
docker·容器·gitlab
兔老大RabbitMQ1 天前
GitHub vs GitLab 全面对比报告(2025版)
gitlab·github
CC码码2 天前
管理你的多个 Git 密钥(多平台多账号)
git·gitlab·github
CC码码2 天前
管理你的多个 Git 密钥(单平台多账号)
git·gitlab·github
兔老大RabbitMQ2 天前
GitLab详细分析
gitlab
小道仙9715 天前
gitlab对接,gitlabRestApi,gitlab4j-api
java·git·gitlab
tswddd16 天前
项目:Gitlab HSD CI/CD总结
ci/cd·kubernetes·gitlab
许_安16 天前
docker中部署gitlab
docker·eureka·gitlab
Haoea!16 天前
持续集成 CI/CD-Jenkins持续集成GitLab项目打包docker镜像推送k8s集群并部署至rancher
ci/cd·gitlab·jenkins·rancher