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 postfixsystemctl 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.hqwc.cn/news/15429.html

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

相关文章

03_007linux内存管理架构以虚拟内存空间布局架构

内存管理子系统架构 内存管理子系统架构可以分为:用户空间、内核空间及硬件部分3个层面,具体结构如 下图所示: 1、用户空间:应用程序使用malloc()申请内存资源/free()释放内存资源。 2、内核空间:内核总是驻留在内存中,是操作系统的一部分。内核空间为内…

【React笔记】react循环列表的写法

react循环的写法 简单循环输出人名简单循环输出json格式数组 简单循环输出人名 循环输出people数组中的四个人名 import ReactDOM from react-dom/client;const people [宋江,卢俊义,吴用,公孙胜 ]; const root ReactDOM.createRoot(document.getElementById(root)); root.…

gitee提交项目失败记录:remote:error:hook declined to update refs/heads/master

问题描述; 今天修改了项目里面一些文件内容,结果提交的时候报错了,可以提交到本地仓库,但提交到中央仓库报如下异常,因此记录下,防止后面再遇到…… 解决办法: 登录gitee账号,在设置…

spring10-配置数据元

他的作用是提高我们程序性能的:我们怎么用呢!先创建我们数据源对象:创建初始化对象之后,创建数据源对象之后,会给我们一些初始化资源。 使用完后还给他 ,这是一种环保的思想。 常见的数据源:底…

Markdown 进阶语法:Mermaid 绘图 (一) - 流程图 (Flowchart)

✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心&…

架构课学习笔记:职业成长

架构师没有明确的定义,郭老师提出具备的能力:就是为一个复杂系统设计软件的能力,以及引导研发团队实施的能力。从5个 阶段来看对应的能力维度:结构化设计、解决横向问题、解决跨领域冲突、正确的技术决策和创造生存优势。 一结构…

哈夫曼树-算法

一、霍夫曼树基本概念: 路径:从树的一个结点到另外一个结点的分支构成这两个结点的路径 结点的长度:两节点之间路径的分支数 树的路径长度:从树根到每一个结点的长度之和,记做TL: 结点数目相同的二叉树中&#xff0…

Linux--冯诺依曼体系结构

【Linux】冯诺依曼体系结构、操作系统及进程概念_linux io 冯诺依曼_平凡的人1的博客-CSDN博客 存储器指的是内存还是磁盘? 内存 输入设备:键盘、摄像头、话筒、磁盘、网卡... 输出设备:显示器、音响、磁盘、网卡... CPU: 运算器&#x…

自然语言处理实战项目12-基于注意力机制的CNN-BiGRU模型的情感分析任务的实践

大家好,我是微学AI,今天给大家介绍一下自然语言处理实战项目12-基于注意力机制的CNN-BiGRU模型的情感分析任务的实践,本文将介绍一种基于注意力机制的CNN-BiGRU模型,并将其应用于实际项目中。我们将使用多条CSV数据样例&#xff0…

flask和Vue3的前后端数据传输

(一)基于flask,构建一个后端 后端就采用flask的一般构建方法,然后用 flask-restful 构建一个接口,接口返回为json数据。 datas [{id: 1, name: xag, 年龄: 18}, {id: 2, name: xingag, age: 19}]class UserView(Res…

Docker学习笔记25

Docker swarm 应用: 镜像准备: 参照Docker学习笔记13,创建centos-nginx:v1的镜像: [rootswarm-1 nginxtest]# docker build -t centos-nginx:v1 . [] Building 211.5s (12/13) [] Building 211.7s (12/13) [] Building 211.8s (…

【操作系统】PV操作模型总结

根本方法:行为所需资源、行为与行为前后关系的图分析法 1.0顺序执行模型 特点:(1)多进程之间的执行具有牵制性(2)每个进程执行内容不复杂,强调进程之间的执行顺序。 分析方法:有向图…