DevOps基础服务1——版本控制gitlab

文章目录

  • 一、基本了解
    • 1.1 安装git客户端
    • 1.2 git命令
      • 1.2.1 本地仓库
      • 1.2.2 远程仓库
  • 二、安装gitlab
  • 三、功能管理
    • 3.1 创建账号
    • 3.2 用户注册授权通知功能
    • 3.3 创建项目远程库
    • 3.4 ssh设置
    • 3.5 克隆远程库项目到本地
    • 3.6 上传本地项目代码到远程库
    • 3.7 授权用户查看项目权限

一、基本了解

概念:

  • 版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一。
  • 常用版本控制工具:gitlab、subversion。

主要功能:

  1. 追踪文件的变更。可以追踪到什么人在什么时候更改了什么内容。每次文件发生改变,则文件版本号都将增加。
  2. 并行开发。可以有效地解决版本的同步,以及不同开发者之间的开发通信问题,提高协同开发的效率。

注意事项:

  1. 项目开始初期需要定义基线,也就是第一个版本,后续的分支版本开发工作都是基于基线来。
  2. 配置库中的各个基线控制项,应该根据其基线的位置和状态来设置相应的访问权限。对于基线版本之前的各个版本都应处于被锁定的状态,如需要对它们进行变更,则应按照变更控制的流程来进行操作。

1.1 安装git客户端

  • 客户端工具官网

1.安装git时,需要选择编译器,一般选择本地即可。右键有两个图标显示,进入第二个有命令行显示就算成功。
在这里插入图片描述
2.安装客户端工具。
在这里插入图片描述

1.2 git命令

注意事项:

  1. 当存储区文件被删除后,需要git add 提交到缓存区,再git commit提交到存储区。

1.2.1 本地仓库

命令释义
git -v查看git版本。
git init初始化生成本地仓库,在当前目录下创建本地仓库。
git clone [name]克隆远程库到本地,生成本地仓库。
可以自定义克隆到本地仓库的名称,可选项。
git config --global user.name root
git config --global user.email 1@2.com
两个参数都需要配置,配置后会在仓库的config文件里记录信息。
可以使用- -global参数对所有git本地仓库进行配置。
git status查看暂存区状态。若有文件在工作区,则显示Untracked未追踪状态。
git add {文件名}将工作区的文件提交到暂存区。
git restore --staged {文件名}将暂存区文件放回工作区。
git commit -m {自定义提交信息}将暂存区文件提交到存储区,-m指定提交信息。
git log [–oneline]查看提交日志信息
gitgit revert {版本号}恢复误删文件,后面的版本号就误删之前的一个版本。
先使用git log --oneline查看每个提交版本,选择第二行的那个版本即可。
git branch {分支名称}创建分支,前提是需要提交文件到暂存区。
git branch -v查看所有分支。
git checkout user切换到user分支
git checkout -b qingjun创建并切换到新分支qingjun
git branch -d user删除user分支。
git merge user将user分支内容合并到当前分支。
git tag {标签名} {历史提交版本号}将提交的历史版本号打赏标签。
git tag查看所有标签。
git tag -d {标签名}删除标签。

1.2.2 远程仓库

命令释义
git remote add origin http://192.168.130.162/root/text.git使用别名origin,将本地仓库与远程仓库连接起来。
git remote remove origin移除
git remote rename origin修改别名
git push origin将本地仓库推送到远程仓库origin
git pull origin将远程仓库拉取到本地仓库。

1.本地仓库创建文件。
在这里插入图片描述
2.将文件推送到存储区。

git add .
git commit .

3.指定推送远程仓库别名。

git remote add origin http://192.168.130.162/root/text.git

4.推送。

git push origin

5.网页查看最新仓库代码。
在这里插入图片描述

二、安装gitlab

  • 官网

1.配置yum源。

wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo

//配置epel源。
wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
sed -i 's|^#baseurl=https://download.example/pub|baseurl=https://mirrors.aliyun.com|' /etc/yum.repos.d/epel*
sed -i 's|^metalink|#metalink|' /etc/yum.repos.d/epel*

2.安装依赖包。

yum -y install policycoreutils-* curl openssh-server openssh-clients postfix cronie  git

3.启动postfix服务,关闭防火墙。

systemctl enable --now postfix

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

4.上传gitlab安装包,直接安装。

rpm -ivh gitlab-ce-15.11.11-ce.0.el7.x86_64.rpm

5.修改配置文件,指定访问地址。

vim /etc/gitlab/gitlab.rb
......
external_url 'http://192.168.130.162'     //这里直接使用主机IP,公司都是用域名。

6.重载配置文件,并重启gitlab。

gitlab-ctl reconfigure
gitlab-ctl restart

7.查看当前的gitlab版本。

head -5 /opt/gitlab/version-manifest.txt

在这里插入图片描述
8.获取管理员临时密码,登录网页。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
9.更改管理员用户密码。

//新版本需要指定-e参数。
gitlab-rails console -e production

//查询id为1的用户,为root用户,超级管理员。
user = User.where(id:1).first

//设置密码,密码必须至少是8个字符。
user.password='citms@123'
//确认密码。
user.password_confirmation='citms@123'

//保存。
user.save!

10.使用root用户新密码登录。

在这里插入图片描述
在这里插入图片描述

三、功能管理

3.1 创建账号

1.员工A先自己申请创建个人用户,创建完无法登录,需要管理员授权。
在这里插入图片描述
2.管理员账户能看到申请的用户账号,给该账号授权能登录。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3.使用qingjun用户登录。
在这里插入图片描述
在这里插入图片描述

3.2 用户注册授权通知功能

  • 新用户注册后,需要root管理员授权才能登录,也可以关闭授权功能,当用户A创建完账号后直接就能登录,但此种方式不推荐。

在这里插入图片描述
在这里插入图片描述

3.3 创建项目远程库

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.4 ssh设置

1.gitlab服务器生成密钥对。

//生成。
ssh-keygen -t rsa

//查看公钥,并复制。
cat /root/.ssh/id_rsa.pub 

2.网页配置。

在这里插入图片描述
在这里插入图片描述

3.5 克隆远程库项目到本地

1.复制远程库的连接,两个连接皆可。
在这里插入图片描述
2.本地操作。

 git clone git@192.168.130.162:root/qingjun.git

在这里插入图片描述

3.6 上传本地项目代码到远程库

1.全局设置

git config --global user.name root	//设置默认使用的用户
git config --global user.eamil root@cwt.example.com	   //设置默认使用的邮箱

2.推送现有文件夹。

cd baimu/
git init    //初始化仓库
git remote add origin git@192.168.130.162:root/text.git     //仓库的名字为text。
git add .     // 添加当前目录中的所有文件。
git commit -m "Initial commit"     / 提交。
git push -u origin main     //上传。

3.网页查看。
在这里插入图片描述

3.7 授权用户查看项目权限

1.选择要授权的项目。
在这里插入图片描述
2.指定用户角色。
在这里插入图片描述
在这里插入图片描述

3.使用qingjun用户登录,能查看到text项目。
在这里插入图片描述

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

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

相关文章

electron+vue3全家桶+vite项目搭建【21】自定义无边框窗口拖拽移动

文章目录 引入实现思路实现步骤1.主进程监听窗口移动2.通信工具补充ipc调用3.渲染进程封装通用拖拽组件 测试 引入 如果你尝试过透明窗口,并控制透明部分事件击穿,就会发现使用 drag属性样式去控制窗口拖拽会导致点击事件失效,并且带drag属性…

陌陌聊天数据分析 (一)

陌陌聊天数据分析(一) 目标 基于Hadoop和Hive实现聊天数据统计分析,构建聊天数据分析报表 需求 统计今日总消息量统计今日每小时消息量,发送和接收用户数量统计今日各地区发送消息数据量统计今日发送消息和接收消息用户数统计…

机器学习 day25(softmax在神经网络模型上的应用,提高数据精度的方法)

输出层采用softmax 在识别手写数字的模型中,预测y只有两个结果,所以输出层采用sigmoid激活函数且只有一个神经元。若预测y有10个结果(0-9),该模型的前向传播计算方式与识别数字的模型完全相同,即隐藏层的…

符号化的正确姿势

GUI方式 将 .ips crash report 文件拖放到 Xcode > Window > Devices and Simulators > View Device Logs中, 然后导出 .crash 符号化文件. 使用条件: crash report 对应的 Archive 包是在本机构建的 symbolicatecrash symbolicatecrash 是一个 exec (可执行文件), …

Stepper, Slider 的使用

1. Stepper 步进器的使用 1.1 实现 /// 步进器 /加减控件 struct StepperBootcamp: View {State var stepperValue: Int 10State var widthIncrement: CGFloat 0var body: some View {VStack {Stepper("Stepper: \(stepperValue)", value: $stepperValue).padding…

【MATLAB第53期】基于MATLAB的TSK模糊神经网络时间序列预测模型,含短期预测未来功能

【MATLAB第53期】基于MATLAB的TSK模糊神经网络时间序列预测模型,含短期预测未来功能 一、效果展示 二、数据设置 数据采用一列数据滑动窗口设置为5 ,可自行设置70%训练30%测试预测未来值为10 ,可自行设置,控制10以内 三、模型…

Spring MVC相关注解运用 —— 中篇

目录 一、RESTful风格支持 1.1 RESTful风格介绍 1.2 postman使用 二、PathVariable 2.1 实例程序 2.2 测试结果 三、PostMapping、GetMapping、PutMapping、DeleteMapping 四、HiddenHttpMethodFilter 4.1 在web.xml配置过滤器 4.2 控制器方法 4.3 JSP页面 4.4 测…

论文笔记--SentEval: An Evaluation Toolkit for Universal Sentence Representations

论文笔记--SentEval: An Evaluation Toolkit for Universal Sentence Representations 1. 文章简介2. 文章概括3 文章重点技术3.1 evaluation pipeline3.2 使用 4. 代码4.1 数据下载4.2 句子嵌入4.3 句子嵌入评估 5. 文章亮点6. 原文传送门7. References 1. 文章简介 标题&…

96、基于STM32单片机的温湿度DHT11 烟雾火灾报警器蓝牙物联网APP远程控制设计(程序+原理图+任务书+参考论文+开题报告+流程图+元器件清单等)

单片机及温湿度、烟雾传感器是烟雾报警器系统的两大核心。单片机好比一个桥梁,联系着传感器和报警电路设备。近几年来,单片机已逐步深入应用到工农业生产各部门及人们生活的各个方面。各种类型的单片机也根据社会的需求而开发出来。单片机是器件级计算机…

Redis - 附近商铺、用户签到、UV统计

文章目录 附近商铺、用户签到、UV统计一、附近商铺1.1 GEO数据结构1.2 导入店铺数据到GEO1.3 实现附近商户功能 二、用户签到2.1 BitMap2.2 签到功能2.3 统计连续签到2.3.1 分析2.3.2 代码实现 三、UV统计3.1 HyperLogLog用法3.2 测试百万数据的统计 附近商铺、用户签到、UV统计…

LRU 缓存

题目链接 LRU 缓存 题目描述 注意点 如果插入操作导致关键字数量超过 capacity ,则应该 逐出 最久未使用的关键字函数 get 和 put 必须以 O(1) 的平均时间复杂度运行 解答思路 如果想以O(1)的速度进行get,则需要将对应的key、value存到map中如果想…

李子转债上市价格预测

李子转债 基本信息 转债名称:李子转债,评级:AA,发行规模:6.0亿元。 正股名称:李子园,今日收盘价:18.06元,转股价格:19.47元。 当前转股价值 转债面值 / 转股…

RabbitMQ笔记--消息中间件,rabbitmq安装及简单使用

1.消息中间件 消息:指在应用间传送的数据。 消息队列中间件:指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,可以在分布式环境下扩展进程间的通…

Elasticsearch【全文检索、倒排索引、应用场景、对比Solr、数据结构】(一)-全面详解(学习总结---从入门到深化)

目录 Elasticsearch介绍_全文检索 Elasticsearch介绍_倒排索引 Elasticsearch介绍_Elasticsearch的出现 Elasticsearch介绍_Elasticsearch应用场景 Elasticsearch介绍_Elasticsearch对比Solr Elasticsearch介绍_Elasticsearch数据结构 Elasticsearch介绍_全文检索 Elasti…

UILabel左上角对齐

设计有个需求,需要文字两行显示,一行的时候左上角对齐,比较常见的需求。 老的办法一般来说是根据宽计算好frame大小,然后重新设置frame。不过感觉这种方式比较麻烦,想了想能不能通过约束来完成这个事情呢。 本着这个思…

(论文翻译)PRUNING FILTER IN FILTER《滤波器中的剪枝滤波器》

公式不清楚的地方请对照英文原文进行查看:原文链接 ABSTRACT 剪枝已成为现代神经网络压缩和加速的一种非常有效的技术。现有的剪枝方法可分为两大类:滤波器剪枝(FP)和权重剪枝(WP)。与WP相比,FP在硬件兼容性方面胜出,但在压缩比方面失败。为了…

springboot开发PC端桌面应用

一、需求描述: 1、要求桌面能在window、Linux和macos系统上运行 2、用户自定义数据筛选策略,策略可通过excel导入导出 3、选择多个excel文件通过策略过滤生成新的excel 二、技术选型及集成环境配置: 1、PC端跨平台直接选用javafx来作为桌…

SpringBoot + Vue前后端分离项目实战 || 四:用户管理功能实现

系列文章: SpringBoot Vue前后端分离项目实战 || 一:Vue前端设计 SpringBoot Vue前后端分离项目实战 || 二:Spring Boot后端与数据库连接 SpringBoot Vue前后端分离项目实战 || 三:Spring Boot后端与Vue前端连接 SpringBoot V…

从零开始制作一个Web蜜罐扫描器(5)

从零开始制作一个Web蜜罐扫描器(3)_luozhonghua2000的博客-CSDN博客 打开一个蜜罐: 查看源码: 这个./js/portraitjs非常引人注入,点进去看一下 很明显是被混淆过了,结合语义来理解,这是portrait=画像,那么可以大胆猜测这段ison是黑客画像用的.猜测了就要进行验证,这里在…

Kafka request.log中RequestQueueTimeMs、LocalTimeMs、RemoteTimeMs、ThrottleTimeMs、含义

Kafka request.log中RequestQueueTimeMs、LocalTimeMs、RemoteTimeMs、ThrottleTimeMs、含义 要理解各个延时项的含义,必须从Kafka收到TCP请求、处理请求到返回TCP包整个流程开始梳理 RequestQueueTimeMs Processor 执行processNewResponses() 方法,不…