【项目实战23】持续集成与持续交付上——gitlab的网络仓库gitee和本地仓库gitlab

一、前言

一、简介

Git特点: 速度快、简单的设计、对非线性开发模式的强力支持(允许成千上万个并行开发的分支)、 完全分布式、 有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)

二、Git的分区方式

有三种状态:已提交(committed)、已修改(modified) 和 已暂存(staged)。
已修改表示修改了文件,但还没保存到数据库中。
已提交表示数据已经安全地保存在本地数据库中
已暂存表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。
在这里插入图片描述
三、实验环境
将用server12(172.25.42.12)实验gitee网络仓库,server11(172.25.42.11)搭建本地的gitlab本地仓库。

二、git的使用

一、基本使用

1、开启虚拟机,下载git,初始化git
创建工作目录demo,初始化版本库,现在demo目录就是存放版本的版本库,.git目录是git跟踪管理版本库的,不要乱动。git命令必须在版本库中使用,出去就不顶用了,因为信息都记录在版本库中

[root@server12 demo] yum install git
[root@server12 ~] mkdir demo
[root@server12 ~] cd demo/
[root@server12 demo] git init

在这里插入图片描述
2、创建用户,注册邮箱

[root@server11 demo] git config --global user.name "ck"
[root@server11 demo] git config --global user.email ck@westos.org

在这里插入图片描述
3、建立文件,查看状态变化

[root@server12 demo] touch README.md           建立任意文件
[root@server12 demo] git status                第一种查看文件方式
[root@server12 demo] git status -s             第二种查看文件方式、简化输出

可以看到文件处于暂存区的状态
在这里插入图片描述
4、add传至工作区

[root@server12 demo] git add README.md 
[root@server12 demo] git statu -s

此时A状态表示为被添加至工作区
在这里插入图片描述
5、commit传至git目录(必须已经建立账户和密码)
特定上传一个文件,否则会将整个暂存区的东西都上传

[root@server12 demo] git commit -m "add readme.md"   不分大小写
[root@server12 demo] git statu -s

此时git不存在任何新改变,没有输出
在这里插入图片描述
6、修改初始文件,给予内容

[root@server12 demo] echo westos > README.md 
[root@server12 demo] git status -s
[root@server12 demo] git status 

M在右边,表示文件修改过,在暂存区
在这里插入图片描述
7、再次上传至工作区
M在左边,表示文件修改过,在工作区

[root@server12 demo] git add README.md 
[root@server12 demo] git status 
[root@server12 demo] git status -s

在这里插入图片描述
8、上传至目录
git会对文件进行监控,同一个文件上传至目录时用update,此时没有文件状态改变
在这里插入图片描述
注意无论怎么更改工作区的文件,上传至目录的只有暂存区的文件

二、撤销操作

1、工作区使用checkout撤销之前的操作
恢复到工作区修改之前的版本

[root@server12 demo] git checkout README.md 

在这里插入图片描述
2、暂存区的撤销
修改内容,即使添加至暂存区,也可以在暂存区用reset HEAD撤销,再到工作区用checkout撤销
这里更改工作区的内容,上传至暂存区,再两次撤销即可恢复原样。

[root@server12 demo] git reset HEAD README.md 
[root@server12 demo] git checkout README.md 

在这里插入图片描述

三、恢复删除

1、工作区删除文件的恢复
工作区删除文件也可以恢复,同样的checkout命令

[root@server12 demo] git checkout README.md

在这里插入图片描述
2、暂存区里删除的恢复
提交到暂存区后,删除后。可以在暂存区和工作区分别恢复一下,即可恢复我们的文件

[root@server12 demo] git reset HEAD README.md
[root@server12 demo] git checkout README.md

在这里插入图片描述

三、网络仓库

git结合网络仓库gitee使用,也可以结合github使用,因为github网络较为卡顿,所以使用网络仓库gitee作为例子(国内版)
1、新建用户
2、建立私有仓库
在这里插入图片描述
生成公钥
在这里插入图片描述
导入公钥

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
上传文件
在这里插入图片描述
上传文件

git remote add origin git@gitee.com:kang-chen-westos/demo.git   连接远程仓库
git push -u origin master                                       上传文件

上传成功
在这里插入图片描述
查看文件,发现上传成功。
在这里插入图片描述

四、私有化仓库Gitlab的安装

server11作为仓库,安装gitlab
获取安装包
在这里插入图片描述
获取地址为 https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/

1、安装

[root@server11 mnt]# yum install -y curl policycoreutils-python openssh-server
[root@server11 mnt]# yum install -y gitlab-ce-14.1.2-ce.0.el7.x86_64.rpm

2、修改配置文件
vim /etc/gitlab/gitlab.rb
在这里插入图片描述
重新载入服务

gitlab-ctl reconfigure

进行访问172.25.42.11发现需要密码
在这里插入图片描述
查看登陆密码
在这里插入图片描述

进入后用户为root,密码为刚才查看的密码
在这里插入图片描述

中文的设定方式,应用后刷新,重新进入即可
在这里插入图片描述
进去后重新设置自己的密码。
在这里插入图片描述

设置密钥连接

[root@server11 ~] ssh-keygen 
[root@server11 ~] cd .ssh/
[root@server11 .ssh] ls
id_rsa  id_rsa.pub
[root@server11 .ssh] cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6E8tixpTldgCDSY/i4zR/VlipgAsmzr+73g5VN4q15DtzTUjORZS5WfMXSSzI9VfXLEd6MB9L0sdYJFJKcutKJb2j6zYDKOVCW/5Nq+siqP4Vd5K3+fsI4n5xtfKTRri6Ek2aSX3u+D6ZIXAifQDptBgorVg2xFkDF+8BhLKiskiC3dflP46FD9eek+Xe6pbfC5tTe7p+v61qnBmePS+1OYkuUxRyeKp2WAt1ktXempA+5ayTIFlZWq/ZjHbyW4+mYfjf+gUSZ5W/Yt9bHwgikz7Uhqmr8gtHuw4WXaZMmISGDJFZCLp/INplWvGxH722r1hK2J6LktfMee0ds0rP root@server11

复制公钥给gitlab
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
server11安装git,建立连接
在这里插入图片描述

[root@server11 .ssh] yum install git
[root@server11 ~] git clone git@172.25.42.11:root/demo.git    复制得到

ssh成功建立连接
在这里插入图片描述
通过ssh克隆,可以发现帮你在/root生成了一个demo目录,进入目录,拉取了README.md

[root@server11 ~] cd demo/
[root@server11 demo] ls
README.md
[root@server11 demo] git remote -v
origin	git@172.25.42.11:root/demo.git (fetch)
origin	git@172.25.42.11:root/demo.git (push)

上传
Git 提供了一个跳过使用暂存区域的方式, 只要在提交的时候,给 git commit 加上-a选项,Git 就会自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过 git add 步骤

首先在demo目录中创建了一个index.html文件,提交到版本库,然后push上传到gitlab

[root@server11 demo] git config --global user.name "ck"
[root@server11 demo] git config --global user.email ck@westos.org
[root@server11 demo] git commit -a -m "add index.html"
# On branch main
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#	index.html
nothing added to commit but untracked files present (use "git add" to track)
[root@server11 demo] git add index.html
[root@server11 demo] git status
# On branch main
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#	new file:   index.html
#
[root@server11 demo] git status -s
A  index.html
[root@server11 demo] git commit -m "index.html"
[main c71496d] index.html
 1 file changed, 1 insertion(+)
 create mode 100644 index.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值