gitlab的基本用法之创建用户和组

安装好gitlab后要做一些基本的创建

  • 创建顺序:先创建组——再创建项目——最后创建用户
  • 项目、组、用户的关系:把创建的用户和项目加入组中,只有同一组的用户才能操作该组的项目。
    请添加图片描述

一、创建群组

请添加图片描述
点击设置就可以看到刚才创建的组
请添加图片描述

二、创建项目,并把项目加入组中

请添加图片描述
(1) 配置ssh秘钥:用于你的电脑/服务器与gitlab进行安全连接(此时是root用户)
请添加图片描述
(2)先用root测试一下拉取版本库,和测试拉代码和上传代码

# mkdir mygit_data   # 创建一个本地目录,并在目录中创建一些文件
# cd mygit_data/
# touch aa
# touch bb
# touch ccgit init  # 将这个目录下的文件变成git仓库git remote add origin git@192.168.1.12:develpment/myproject-test.git #关联远程仓库
touch test.txt
git add .
git commit -m "new"
git push -u origin master

三、创建普通用户并加入到群组

(1)可以禁止用户注册
请添加图片描述
(2)为开发创建账户,其他保持默认即可
请添加图片描述
请添加图片描述
(3) 创建用户成功,并点击【编辑】为用户创建密码并保存(密码必须是8位)
请添加图片描述
(4) 最后我们可以看到创建的[仓库] [用户] [群组]
请添加图片描述
(5) 点击【develpment】将新创建的dev用户加入到develpment群组,才能让该用户去管理群组中的项目
请添加图片描述
(6)可以看到群组中已经加入了dev用户
请添加图片描述
(7) 开启master分支保护
gitlab开启分支保护

四、使用新用户登录gitlab

(1) 登录gitlab并重新设置密码
请添加图片描述
请添加图片描述

(2) 配置ssh秘钥,才能拉取代码
请添加图片描述

(3) 开另一台linux服务器当做开发服务器,并执行 ssh-keygen -t rsa 获取ssh-key

# ssh-keygen -t rsa  # 一路回车[root@localhost /]# cat /root/.ssh/id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDWqAYmPfWpw3I0GWqaIsUWJYPtn7VywwaQaM2YX31LCaODCP+cSBQDw2/IqblbifelQTIOTcKaDVsL9i5B1+2qdmLhasgYPXilxnIsRLOQGDU3OUBLq2FUJQvPwNoALb+s3yMxylkgsKUXZGsQwVPO9WZhePf/J+uXSVhQhqcDzV9RRh4jwwmhaztU+taFPlhcj5rUPuLzasvLQFMyjJR1qyXhyzsNJGVp5zFoPO1PHsCSJ1fKfTqsOZnpPOaDwCU3AK5oGcZmi+jawEl9uR8vlXJ0u1rbAcpKY702hXxTuRbAe5PcarSlVgtih07sQoDFUczY2Rc2DW8VX9p6Etx/ root@localhost.localdomain

(4) 将开发机的ssh-key绑定到gitlab上
请添加图片描述
(5) 开发将远程仓库拉到本地基本操作

(1) 创建本地账户
# git config --global user.name "dev"        # 创建本地账户
# git config --global user.email dev@qq.com(1) git pull 把仓库拉下来
# git clone git@192.168.1.12:develpment/myproject-test.git
# cd myproject-test/
# git pull origin master   # 同步一次代码(2) git push 把代码传上去
# cd myproject-test/
# touch dev.txt         # 开发创建一个新的文件并提交到远程仓库主分支
# git add .
# git commit -m "new file dev.txt"
# git push -u origin master

五、创建本地git仓库的2种操作

设置全局配置(Git global setup )

git config --global user.name "Administrator"
git config --global user.email "admin@example.com"

创建一个全新的git仓库 (Create a new repository )

git clone http://gitlab.example.com/dev/my-project1.git  # 把代码拉下来
cd my-project1                                           # 进入本地git仓库
touch README.md                                          # 创建文件
git add README.md                                        # 添加文件到暂存区
git commit -m "add README"                               # 提交代码到暂存区
git push -u origin master                                # 上传代码到gitlib仓库

把现有目录初始化成git仓库 (Existing folder)

cd existing_folder          # 进入目录
git init                    # 将该目录初始化成git仓库
git remote add origin http://gitlab.example.com/dev/my-project1.git    # 将本地仓库与远程仓库关联起来
git pull origin master      # 把远程仓库代码拉下来
touch README1.md            # 创建文件
git add .                   # 添加文件到暂存区并提交代码
git commit -m "add new file"
git push -u origin master

关于分支

(1) 查看当前所在分支为master
# git status   # 或 git branch
On branch master(2) 把其他分支都拉下来
# git fetch
# git branch -a # 查看所有分支(3) 切换到dev分支
# git checkout dev

gitlab安装目录介绍
请添加图片描述

六,普通用户创建dev-wenqiang分支并请求合并到主分支

(1) 普通用户创建分支
请添加图片描述

(2) 普通用户拉去代码并添加文件到dev-wenqiang分支

# git clone  http://192.168.1.104/OP/OpProject.git
# cd OpProject/
# git ftech
# git checkout dev-wenqiang
# touch index-dev5.html
# git add .
# git commit -m "ss"
# git push origin dev-wenqiang      # 输入普通用户登陆gitlab的用户名和密码

(3) 普通用户创建新的合并分支请求
请添加图片描述
请求dev-wenqiang合并到master
请添加图片描述
填写此次增加了哪些功能的描述信息请添加图片描述
请添加图片描述

(4) 管理员处理普通用户的分支合并请求
请添加图片描述
管理员同意合并就可以了
请添加图片描述
查看master主分支已经合并成功
请添加图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringCloudStream使用StreamBridge实现延时队列

利用RabbitMQ实现消息的延迟队列 一、安装RabbitMQ 1、安装rabbitmq 安装可以看https://blog.csdn.net/qq_38618691/article/details/118223851,进行安装。 2、安装插件 安装完毕后,exchange是不支持延迟类型的,需要手动安装插件,需要和安装的rabbitmq版本一致 https:…

可以在桌面上用的倒计时提醒app下载

在忙碌的工作日常中,我们常常需要记住各种截止日期和重要事件。为了确保这些任务按时完成,一款桌面倒计时提醒应用变得尤为重要。想象一下,当你在电脑桌面上就能清晰地看到剩余时间,这无疑会增加你的工作效率和紧迫感。 敬业签就…

红日安全vulnstack (二)

目录 环境搭建 网卡设置 修改Kali网段 IP 分布 WEB渗透 Weblogin服务开启 漏洞扫描 CVE工具利用 MSF上线 内网渗透 域内信息收集 凭证横向移动 权限维持 黄金票据 参考文章 https://www.cnblogs.com/bktown/p/16904232.htmlhttps://blog.csdn.net/m0_75178803/ar…

好用的python相关的AI工具Bito介绍

插件名称:Bito 好用的python相关的AI工具Bito介绍 step 1:点插件step 2:搜索bito并安装step3 :需要登录,要有真实邮箱,按步骤走就行,完后就可以使用 step 1:点插件 step 2:搜索bito并安装 step3…

关于新国标强制电动车应内置北斗定位模块的规定有哪些?附北斗定位芯片对比参数

关于新国标要求电动自行车内置的北斗定位功能,需要符合以下几点: 支持UART或SPI接口至少支持接收处理北斗B1C和B2a信号具备定位信息的采集、存储和发送功能(其中定位信息包括:经度、纬度、速度、定位时间)具备采集、存…

专题:回溯算法专题(已完结)

回溯四部曲 1.确定是否需要返回值(和题目的递归函数函数是否有返回值无关) 2.确定遍历顺序&#xff08;有返回值接的需要接住&#xff09; 3.确定结束条件&#xff08;注意是否存在中途直接return&#xff09; 4.确定单层循环逻辑 1.组合 class Solution {vector<vector&l…

1.项目初始化

目录 1.相关联的数据库表 2.使用gorm操作数据库 使用gen生成model和对数据库的操作 3.使用viper进行配置管理 读取配置文件 进行热更新 4.使用Pflag来进行命令行参数解析 5.使用日志slog 日志轮转与切割功能 6.错误码和http返回格式标准化 提供错误码 提供错误类型…

vue3中swiper11的使用

Swiper官网 vue中使用方法 我使用的是 “vue”: “3.5.11”&#xff0c;swiper版本为 “swiper”: “11.1.14”&#xff0c; “less”: “4.2.0” 1. 属性介绍 属性名作用slidesPerView设置slider容器能够同时显示的slides数量(carousel模式)。可以设置为数字&#xff08;小…

立志最细,FreeRtos中的任务通知(Task Notification)详解!!!

目录 基本概念 任务通知特性 函数原型 简化版函数 专业版函数 前言&#xff1a;本篇参考&#xff0c;韦东山开发文档&#xff0c;连接放在最后 基本概念 在FreeRtos操作系统里面&#xff0c;任务通知(Task Notification)是一种专门用在任务间的任务通信机制&#xff0c;被…

linux解决resolv.conf重启之后会自动还原的问题的几种方法

在 Ubuntu 系统中&#xff0c;/etc/resolv.conf 文件的内容在重启后会被自动还原&#xff0c;通常是因为该文件由系统的网络管理服务&#xff08;如 NetworkManager 或 systemd-resolved&#xff09;动态生成和管理。要防止其重启后被自动还原&#xff0c;你可以尝试以下几种解…

Leetcode—1115. 交替打印 FooBar【中等】(多线程)

2024每日刷题&#xff08;180&#xff09; Leetcode—1115. 交替打印 FooBar C实现代码 class FooBar { private:int n;sem_t fooSem;sem_t barSem;public:FooBar(int n) {this->n n;sem_init(&fooSem, 0, 1);sem_init(&barSem, 0, 0);}~FooBar() {sem_destroy(&…

免杀对抗—内存加载UUID标识IPV4地址MAC地址

前言 试想我们开辟一块内存,然后直接将shellcode写入到对应的内存中并且该内存是可读可写可执行的状态,那么这种方式太容易被AV所查杀,因此当我们如果是利用Windows自身提供的API来将加密或者封装好的shellcode写入到内存执行的话,将会大大增加查杀的难度。 参考文章&#xf…

Linux的pinctrl和gpio子系统

上一章我们编写了基于设备树的 LED 驱动&#xff0c;但是驱动的本质还是没变&#xff0c;都是配置 LED 灯所使用的 GPIO 寄存器&#xff0c;驱动开发方式中硬件初始化这一部分和裸机基本没啥区别。Linux 是一个庞大而完善的系统&#xff0c;尤其是驱动框架&#xff0c;像 GPIO …

【HuggingFace 如何上传数据集】快速上传图片、文本等各种格式的数据

【HuggingFace 下载】diffusers 中的特定模型下载&#xff0c;access token 使用方法总结【HuggingFace 下载中断】Git LFS 如何下载指定文件、单个文件夹&#xff1f; 如果只是为了上传备份、或者迁移数据&#xff0c;可以不用 huggingface dataset&#xff0c;而是直接使用 …

k8s权限控制RBAC中的clusterrole serviceaccount rolebinding 有什么作用

在 Kubernetes 的权限控制模型中,RBAC(基于角色的访问控制,Role-Based Access Control)用于管理对集群资源的访问权限。ClusterRole、ServiceAccount 和 RoleBinding 是其中的关键概念。下面是它们的作用: 1. ClusterRole 作用: ClusterRole 定义了一组权限(可以访问或操…

Stm32+Esp8266连接阿里云程序移植教程(MQTT协议)

Stm32Esp8266连接阿里云程序移植教程&#xff08;MQTT协议&#xff09; 一、前期准备二、移植过程三、程序的使用3.1 连接上阿里云3.2 传输用户数据到阿里云3.3 解析从阿里云下发给用户的数据3.4 关于调试接口 一、前期准备 自己要的工程文件移植所需的文件&#xff08;如下图&…

python实现:两个自然数 X,Y 相除,商 3 余 10,被除数、除数、商、余数的和是 163。求被除数、除数分别是多少?

题目&#xff1a; 两个自然数 X&#xff0c;Y 相除&#xff0c;商 3 余 10&#xff0c;被除数、除数、商、余数的和是 163。求被除数、除数分别是多少 答案&#xff1a; y1 while y<163:if (3*y10)y310163:x163-3-10-ybreakyy1 print(f"被除数为&#xff1a;{x}、除…

消息展示区(二)

消息展示区&#xff08;二&#xff09; 前言 在上一集我们初始化了右窗口的消息展示区&#xff0c;对每一条消息我们创建了对象和布局管理器&#xff0c;并且在这个布局管理器中添加了发送者的头像&#xff0c;并分类讨论了左侧消息和右侧消息&#xff0c;那么我们这一集将会…

新手必看!手把手教你打造10W+爆款文章

自定义 GPTs 的引入彻底改变了博主、营销人员和内容创作者在 ChatGPT 高级版本中的写作方式。这些自定义 GPTs 提供个性化的 AI 工具&#xff0c;旨在执行特定任务&#xff0c;使写作过程更顺畅、迅速且高效。从主题头脑风暴到撰写 SEO 友好的内容&#xff0c;自定义 GPTs 满足…

ES6扩展运算符

1.介绍&#xff1a; ... 扩展运算符能将数组转换为逗号分隔的参数序列&#xff1b; 扩展运算符&#xff08;spread&#xff09;也是三个点&#xff08;...&#xff09;。它好比 rest 参数的逆运算&#xff0c;将一个数组转为用逗号分隔的 参数序列&#xff0c;对数组进…