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

news2024/11/17 1:50:33

文章目录

  • 一、基本了解
    • 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项目。
在这里插入图片描述

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

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

相关文章

华为OD机试真题 Java 实现【查找树中元素】【2023 B卷 100分】,附详细解题思路

目录 一、题目描述二、输入描述三、输出描述四、补充说明五、Java算法源码六、效果展示1、输入2、输出 一、题目描述 已知树形结构的所有节点信息,现要求根据输入坐标(x,y)找到该节点保存的内容值; 其中: x表示节点…

光场1.0——非聚焦型光场相机

本文概要 本文讲主要从光场硬件结构设计以及软件处理方式的层面来介绍一下光场的相关内容,关于光场的优势和具体应用点并不在本文的主要范围内。 光场1.0 1. 结构原理说明 首先来介绍一下光场相机,那么什么是光场相机呢,光场相机经历了两…

c语言实现单链表

#include<stdio.h> #include<malloc.h>typedef struct LNode{double data;struct LNode *next; }LNode,*LinkList;bool InitList(LinkList &L){L(LNode*) malloc(sizeof(LNode));//分配一个头结点 if(LNULL) //内存不足&#xff0c;分配失败 return false;L-&g…

机器学习与深度学习——自定义函数进行线性回归模型

机器学习与深度学习——自定义函数进行线性回归模型 目的与要求 1、通过自定义函数进行线性回归模型对boston数据集前两个维度的数据进行模型训练并画出SSE和Epoch曲线图&#xff0c;画出真实值和预测值的散点图&#xff0c;最后进行二维和三维度可视化展示数据区域。 2、通过…

day68_Vue基础

今日内容 零、 复习昨日 零、 复习昨日 一、Vue简介 1.1 简介 Vue (读音 /vjuː/&#xff0c;类似于 view) 是一套用于构建用户界面的渐进式的js框架&#xff0c;发布于 2014 年 2 月。与其它大型框架不同的是&#xff0c;Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注…

100、基于STM32单片机自动跟随小车 红外遥控控制小车避障模式 跟随模式设计(程序+原理图+PCB源文件+流程图+硬件设计资料+元器件清单等)

绪 论 智能小车通过各种感应器获得外部环境信息和内部运动状态&#xff0c;实现在复杂环境背景下的自主运动&#xff0c;从而完成具有特定功能的机器人系统。而随着智能化电器时代的到来&#xff0c;它们在为人们提供的舒适的生活环境的同时&#xff0c;也提高了制造智能化电器…

系统上线前,SQL脚本的9大坑

前言 系统上线时&#xff0c;非常容易出问题。 即使之前在测试环境&#xff0c;已经执行过SQL脚本了。但是有时候&#xff0c;在系统上线时&#xff0c;在生产环境执行相同的SQL脚本&#xff0c;还是有可能出现一些问题。 有些小公司&#xff0c;SQL脚本是开发自己执行的&am…

React Dva修改路由设置,不要井号

我们Dva项目的路由 他默认是设置了带井号的这种 其实我觉得到还可以 但是有些人会觉得不太美观 如果 你想去除他 那么 你先要在终端执行 npm install --save history将 history 引入进来 装好之后 我们来到src下的 index.js 加上如下代码 import {createBrowserHistory as …

nginx配置例子-反向代理实现

4.1 反向代理实现&#xff08;实例1&#xff09; 4.1.1需要实现的效果 (1)打开浏览器&#xff0c;在浏览器地址栏输入地址 www.123.com&#xff0c;跳转到liunx.系统tomat主页面中 4.1.2 准备工作 (1&#xff09;在liunx, 系统安装 tomcat, 使用默认端口8080. tomcat安装文…

【C++】-vector的具体使用(迭代器失效问题)

&#x1f496;作者&#xff1a;小树苗渴望变成参天大树&#x1f388; &#x1f389;作者宣言&#xff1a;认真写好每一篇博客&#x1f4a4; &#x1f38a;作者gitee:gitee✨ &#x1f49e;作者专栏&#xff1a;C语言,数据结构初阶,Linux,C 动态规划算法&#x1f384; 如 果 你 …

【Nacos】Nacos 2.2.4支持pg数据库适配改造

Nacos 2.2.4支持postgresql数据库 本文基源码&#xff1a;扩展插件包 网上资料都有&#xff0c;还是个人爬坑补充异常处理记录&#xff0c;以便后续升级改造有漏洞修复 下载源码 https://github.com/alibaba/nacos/releases 添加依赖 根pom添加pg依赖 <postgresql.vers…

跨平台轻量级RTSP服务模块设计思路及实现探讨

技术背景 为满足内网无纸化/电子教室等内网超低延迟需求&#xff0c;避免让用户配置单独的服务器&#xff0c;我们发布了轻量级RTSP服务模块&#xff0c;轻量级RTSP服务解决的核心痛点是避免用户或者开发者单独部署RTSP或者RTMP服务&#xff0c;实现本地的音视频数据&#xff…

(4)【轨迹优化篇】方法一:基于Frenet车道线坐标系,采用解耦采样五次多项式拟合进行局部规划

系列文章目录 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录前言A、第一章&#xff1a;Frenet车道线坐标系介绍及坐标转换一、frenet坐标系介绍1.Frenet坐标的定义2.ST图&#xff08;纵向速度…

【ARM Coresight 系列文章 3 - ARM Coresight 组件 DAP(Debug Access Port) 介绍】

文章目录 1.1 Debug Access Port1.2 Access Port1.2.1 IDR 寄存器 1.3 Mem-APs 介绍1.3.1 Debug 寄存器访问模型1.3.2 APs 中寄存器的介绍 1.1 Debug Access Port 外部 Debugger(DS-5/Trace32) 会通过JTAG接口或者SWD接口和DAP相连&#xff1a; JITAG 一般是5个pin&#xff1…

JAVA每日一练(1)

【程序1】 题目&#xff1a;古典问题&#xff1a;有一对兔子&#xff0c;从出生后第3个月起每个月都生一对兔子&#xff0c;小兔子长到第三个月后每个月又生一对兔子&#xff0c;假如兔子都不死&#xff0c;问每个月的兔子对数为多少&#xff1f; import java.util.Scanner;/*…

【ElasticSearch】数据聚合语法与Java实现

文章目录 1、聚合的分类2、DSL实现bucket聚合3、DSL实现Metrics 聚合4、RestClient实现聚合5、需求&#xff1a;返回过滤条件的信息6、带过滤条件的聚合 1、聚合的分类 聚合&#xff08;aggregations&#xff09;可以实现对文档数据的统计、分析、运算。&#xff08;类比MySQL…

如何记牢托福口语考试的关键词?

一般情况下&#xff0c;托福独立口语一类问题是自由回答间题(Free-choice Response)&#xff0c;如&#xff1a;If you could have any job in the world, what would it be? Use details to support your. response;另一类是选择类问题(Paired-choice Response)&#xff0c;如…

BERT论文解读及实现(一)

BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding 1 论文解读 1.1 模型概览 There are two steps in our framework: pre-training and fine-tuning. bert由预训练模型微调模型组成。 ① pre-training, the model is trained on unlabele…

前端Vue入门-day01

(创作不易&#xff0c;感谢有你&#xff0c;你的支持&#xff0c;就是我前行的最大动力&#xff0c;如果看完对你有帮助&#xff0c;请留下您的足迹&#xff09; 目录 Vue 快速上手 Vue 概念 创建实例 插值表达式 响应式特性 开发者工具 Vue 指令 v-show v-if …

【Spring Boot】第一个Spring Boot项目:helloworld

第一个Spring Boot项目&#xff1a;helloworld 本节从简单的helloworld程序开始介绍创建Spring Boot项目的方法和流程&#xff0c;以及Spring Boot项目结构&#xff0c;最后介绍项目中非常重要的pom.xml文件。 1.创建Spring Boot项目 有两种方式来构建Spring Boot项目的基础…