Git、GitHub、Gitee、GitLab的学习

Git、GitHub、Gitee、GitLab的学习

本教程基于尚硅谷Git入门到精通全套教程(涵盖GitHub\Gitee码云\GitLab),哔哩哔哩链接:https://www.bilibili.com/video/BV1vy4y1s7k6

1.Git

​ Git 是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种 项目。 Git 易于学习,占地面积小,性能极快。 它具有廉价的本地库,方便的暂存区域和多个工作 流分支等特性。其性能优于 SubversionCVSPerforceClearCase 等版本控制工具。

1.1 何为版本控制

​ 版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统。 版本控制其实最重要的是可以记录文件修改历史记录,从而让用户能够查看历史版本, 方便版本切换。

1.2 为什么需要版本控制

​ 个人开发过渡到团队协作

1.3 版本控制工具

➢ 集中式版本控制工具

CVS、SVN(Subversion)、VSS……

​ 集中化的版本控制系统诸如 CVS、SVN 等,都有一个单一的集中管理的服务器,保存 所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或 者提交更新。多年以来,这已成为版本控制系统的标准做法。

​ 这种做法带来了许多好处,每个人都可以在一定程度上看到项目中的其他人正在做些什 么。而管理员也可以轻松掌控每个开发者的权限,并且管理一个集中化的版本控制系统,要 远比在各个客户端上维护本地数据库来得轻松容易。

​ 事分两面,有好有坏。这么做显而易见的缺点是中央服务器的单点故障。如果服务器宕 机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。

image-20210725140726179

➢ 分布式版本控制工具

Git、Mercurial、Bazaar、Darcs……

​ 像 Git 这种分布式版本控制工具,客户端提取的不是最新版本的文件快照,而是把代码 仓库完整地镜像下来(本地库)。这样任何一处协同工作用的文件发生故障,事后都可以用 其他客户端的本地仓库进行恢复。因为每个客户端的每一次文件提取操作,实际上都是一次 对整个文件仓库的完整备份。

​ 分布式的版本控制系统出现之后,解决了集中式版本控制系统的缺陷:

​ 1.服务器断网的情况下也可以进行开发(因为版本控制是在本地进行的)

​ 2.每个客户端保存的也都是整个完整的项目(包含历史记录,更加安全)

image-20220113231731684

1.4 Git 简史

image-20210725141425746

1.5 Git 工作机制

image-20220113232034597

1.6 Git 和代码托管中心

image-20210725141527964

1.7 Git 安装

前往官网下载对应的安装包,官网地址:https://git-scm.com/

image-20220113232300838

下载完成后直接双击运行安装即可,安装步骤如下:

1.查看 GNU 协议,可以直接点击下一步,之后选择 Git 安装位置,要求是非中文并且没有空格的目录,然后下一步

image-20210725141644105

2.Git 选项配置,推荐默认设置,然后下一步。

image-20210725141704480

3.Git 安装目录名,不用修改,直接点击下一步

image-20210725141724926

4.Git 的默认编辑器,建议使用默认的 Vim 编辑器,然后点击下一步。

image-20210725141742582

5.默认分支名设置,选择让 Git 决定,分支名默认为 master,下一步

image-20210725141800028

6.修改 Git 的环境变量,选第一个,不修改环境变量,只在 Git Bash 里使用 Git。这里我们选择第二个更好,可以在任意控制台进行输入git的命令

image-20210725141902995

7.选择后台客户端连接协议,选默认值 OpenSSL,然后下一步

image-20210725141921791

8.配置 Git 文件的行末换行符,Windows 使用 CRLF,Linux 使用 LF,选择第一个自动 转换,然后继续下一步。

image-20210725141937390

9.选择 Git 终端类型,选择默认的 Git Bash 终端,然后继续下一步

image-20210725142001229

10.选择 Git pull 合并的模式,选择默认,然后下一步

image-20210725142014283

11.选择 Git 的凭据管理器,选择默认的跨平台的凭据管理器(如我们的一些登录信息),然后下一步。

image-20210725142028803

12.其他配置,选择默认设置,然后下一步

image-20210725142043122

13.实验室功能,技术还不成熟,有已知的 bug,不要勾选,然后点击右下角的 Install 按钮,开始安装 Git。

image-20210725142057183

14.点击 Finsh 按钮,Git 安装成功

image-20220113233127202

15.右键任意位置,在右键菜单里选择Git Bash Here 即可打开 Git Bash 命令行终端。

image-20210725142122462

16.在 Git Bash 终端里输入 git --version 查看 git 版本,如图所示,说明 Git 安装成功,

按住ctrl+鼠标滚轮可放大缩小文字

shift+insert可将复制的文本粘贴到git命令窗口

git命令窗口有自动补全功能,我们输入前面字母在按tab键即可自动补全

image-20220113233228142

2.Git 常用命令

命令名称作用
git config --global user.name 用户名设置用户签名
git config --global user.email 邮箱设置用户邮箱
git init初始化本地库
git status查看本地库状态
git add 文件名添加到暂存区
git commit -m “日志信息” 文件名提交到本地库
git reflog查看精简历史记录
git log查看详细历史记录
git reset --hard 版本号版本穿梭

2.1 设置用户签名

​ 安装好git之后,只需设置一次即可

​ 1)基本语法

git config --global user.name 用户名

git config --global user.email 邮箱

​ 2)案例实操 全局范围的签名设置

image-20220114135157383

之后我们可以在当前用户的家目录下查看对应的配置信息,如我们此处操作的用户为tomorrow,我们打开C盘tomorrow用户下面的.gitconfig文件查看

image-20210725142905977

发现git已经帮我们添加了对应的用户信息

image-20220114140941315

说明:

​ 签名的作用是区分不同操作者身份。用户的签名信息在每一个版本的提交信息中能够看 到,以此确认本次提交是谁做的。Git 首次安装必须设置一下用户签名,否则无法提交代码。

​ ※注意:这里设置用户签名和将来登录 GitHub(或其他代码托管中心)的账号没有任 何关系。

2.2 初始化本地库

我们需要使用git帮助我们管理项目,我们新建一个目录(项目),之后打开git命令窗口

image-20210725143350700

我们输入git init

image-20210725143530967

之后会在项目根目录下新增一个.git文件夹,如果不能查看到.git文件夹,我们需要在“查看”下勾选“隐藏的项目”

image-20210725143710777

我们也可以在git命令窗口查看对应的文件,在linux中查看隐藏文件需要在命令后面加上-a 即可

image-20210725143914555

2.3 查看本地库状态

我们进入git命令窗口输入git status查看本地库状态

image-20210725144234584

使用vim命令创建文件

接下来我们往目录中新增文件,在命令行中输入vim hello.txt创建hello.txt文件(不存在会进行创建,如果存在则是修改的操作),之后按下i切换为输入模式,我们如果要想复制一行的话,先按esc键,然后按yy键复制当前行,之后按p即可复制一行。

我们输入完毕,按下esc键,之后按:wq,回车保存文件即可,

:wq(保存编辑操作退出)

:wq!(保存编辑强制退出)

:q!(不保存退出)

image-20220114141831154

我们要查看文件可以输入 cat hello.txt即可查看文件,输入 tail -n 1 hello.txt 可以查看最后一行

我们再次输入git status 查看状态

image-20210725145757561

2.4 添加暂存区

我们添加hello.txt文件到git暂存区,输入git add hello.txt ,此处需要注意的是,在windows中换行符的符号的CRLF,而linux中是LF,Git会帮我们将其自动转换(需要在安装Git时勾选设置

image-20210725150139551

再次输入git status查看状态,发现hello.txt已经添加到文件暂存区

image-20210725150613159

我们将其从暂存区删除(此操作不会删除我们工作区的文件),输入git rm --cached hello.txt

image-20210725150848258

2.5 提交本地库

我们输入git add hello.txt到git暂存区,并输入git commit -m "第一次提交" hello.txt 将暂存区的文件提交到本地库

image-20210725151351571

我们可以输入git refloggit log 查看提交到本地库的详细信息

image-20210725151651668

2.6 修改文件

我们输入vim hello.txt (或vi hello.txt)进行修改hello.txt文件后,输入git status再次查看状态,之后添加到暂存区

image-20210725151859046

我们再次提交到本地库

image-20210725152234255

2.7 查看历史版本

输入git reflog 查看精简版历史信息,输入git log查看详细版历史信息

image-20210725152501345

2.8 版本穿梭

我们打开项目的.git文件夹下的HEAD,

image-20210725152919343

打开查看当前指向的是master分支(后面会说分支)

image-20210725153025310

继续打开heads目录查看对应master指向的版本号

image-20210725153215050

输入git reset --hard 版本号(只需要输入版本号前面七位即可) 进行版本穿梭

image-20210725153457290

内部原理

Git 切换版本,底层其实是移动的 HEAD 指针,具体原理如下图所示。

image-20210725153733221

2.9 Git分支

image-20210725162125388

概述

在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独 分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时 候,不会影响主线分支的运行。

对于初学者而言,分支可以简单理解为副本,一个分支就是 一个单独的副本。(分支底层其实也是指针的引用)

image-20210725162157005

分支的好处

同时并行推进多个功能开发,提高开发效率。 各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。

失败 的分支删除重新开始即可。

分支的命令
命令名称作用
git branch 分支名创建分支(在那个分支上进行的操作则会将其文件复制到所创建的分支上)
git branch -v查看分支
git checkout 分支名切换分支
git merge 分支名把指定的分支合并到当前分支上

image-20210725162616015

我们切换分支后,查看指针指向:

image-20210725162741676

合并分支
正常情况

如我们要将hot-fix分支合并到master分支,首先需要切换到master分支,输入 git branch hot-fix创建hot-fix分支,之后对hot-fix和master分支的hello.txt进行相应修改,修改如下:

image-20220114151942084

之后合并hot-fix分支到master分支,切换到master分支,输入git merge hot-fix

image-20210725163037416

合并结果如下:

image-20220114152047352

分支冲突情况

合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。Git 无法替 我们决定使用哪一个。必须人为决定新代码内容。冲突情况如下(注意修改后需要提交到本地区):

image-20220114152758646

之后进行合并的操作

image-20210725163942987

这是我们需要通过vim hello.txt打开文件,特殊符号:<<<<<<< HEAD 当前分支的代码 ======= 合并过来的代码 >>>>>>> hot-fix

image-20210725164126299

需要我们手动进行修改并保存,修改如下:

image-20210725164223356

之后添加到暂存区和提交到本地,发现已经合并成功(后面 MERGING 消失,变为正常

image-20210725164341877

创建分支和切换分支

image-20220114153513188

​ master、hot-fix 其实都是指向具体版本记录的指针。当前所在的分支,其实是由 HEAD 决定的。所以创建分支的本质就是多创建一个指针。

​ HEAD 如果指向 master,那么我们现在就在 master 分支上。

​ HEAD 如果执行 hotfix,那么我们现在就在 hotfix 分支上。

​ 所以切换分支的本质就是移动 HEAD 指针

2.10 Git 团队协作机制

团队内协作

image-20210725164645688

跨团队协作

image-20210725164710197

3.GitHub

GitHub 网址:https://github.com/

此处我们使用三个GitHub账号进行讲解,分别是岳不群、令狐冲、东方不败

image-20220114153842502

3.1 创建远程仓库

首先岳不群创建一个github仓库,

image-20210725165026241

3.2 远程仓库操作

命令名称作用
git remote -v查看当前所有远程地址别名
git remote add 别名 远程地址起别名
git push 别名 分支推送本地分支上的内容到远程仓库
git clone 远程地址将远程仓库的内容克隆到本地
git pull 远程库地址别名 远程分支名将远程仓库对于分支最新内容拉下来后与 当前本地分支直接合并
创建远程仓库别名

image-20210725165558154

我们为我们创建的远程出库创建别名(最好保存和创建的仓库名一致),以后推送就可直接使用别名,不用再使用链接的形式,我们输入git remote add 别名 远程地址 为远程仓库创建别名,之后输入git remote -v查看当前项目的别名

image-20210725165908565

推送本地分支到远程仓库

我们将我们本地的仓库推送到远程仓库GitHub,我们输入 git push git-demo(别名,如果没有别名用链接也是可以的) master(推送到哪个分支)

image-20210725170539873

我们使用浏览器验证登录的形式

image-20210725170639887

推送成功,我们在GitHub进行查看即可

image-20220114155524927

拉取远程库内容

我们可以通过git pull 仓库别名(或链接) 分支进行拉取远程仓库,

image-20210726094636538

注意,拉取(pull)操作会自动帮我们提交本地库

image-20220114155911187

克隆远程仓库到本地

image-20210726094924114

注意,克隆操作时不需要任何权限的,任何人都可以克隆,只要项目是开源的。

3.3 邀请成员加入团队(项目)

我们想要邀请一个新的成员加入到我们的项目之中,因为只有加入我们的团队才能对我们的项目进行推送(push),我们在GitHub找到要邀请的项目并点击进入项目中的setting,之后点击Manager access下的invite a collaborator

image-20210726095347388

之后会生成一个邀请,我们复制邀请函

image-20210726095721902

我们将邀请函链接发给要邀请的人,之后要邀请的人登录他的GitHub后把链接复制到地址栏并按下回车即可接受或拒绝

image-20210726095936718

之后就可以对项目进行推送操作

image-20210726100236357

3.4 跨团队协作

将远程仓库的地址复制发给邀请跨团队协作的人,比如东方不败。我们将项目的地址发给其他要求帮助的人,如东方不败,东方不败打开链接后,点击“fork”

image-20210726100809657

之后东方不败的本地仓库就有了一份fork过来的项目

image-20210726100947220

当东方不败帮助我们修改好代码之后,点击项目中的pull request

image-20210726101139683

我们继续点击create pull request

image-20210726101314274

我们输入相关信息,之后点击create pull request

image-20210726101425833

之后我们的项目成员(岳不群)可以查看项目,发现有一个pull request请求

image-20210726101548221

点击进去后可以查看东方不败的修改信息

image-20210726101713534

我们审核后进行合并项目,点击merge pull request即可

image-20210726101940955

3.5 SSH免密登录

使用https的方式有时可能会因为网络的原因推送拉取不成功,我们可以使用ssh的方式,操作更快

首先我们需要进行项目的ssh处查看是否已经开通ssh keys,此处我们并未开通

image-20220114161340271

我们需要进行当前windows用户的家目录,

image-20220114161708373

之后输入ssh-keygen -t rsa -C描述内容,之后按三次回车即可,ssh-keygen表示生成ssh免密登录的命令,rsa表示一种非对称的加密算法,

image-20210726102805947

之后会在当前windows目录下生成一个.ssh文件夹,我们点击进去,发现生成了一个公钥和一个私钥,我们打开公钥将其内容进行复制

image-20220114162100193

之后我们回到GitHub的个人设置

image-20210726104303057

点击SSH and GPG kyes下的New SSH key,创建一个公钥

image-20210726104339667

将复制的公钥添加即可,title名字任意

image-20210726104422712

成功:

image-20210726104501521

之后我们回到项目,复制ssh链接

image-20210726104616031

之后我们使用ssh免密登录进行拉取代码,输入 git pull ssh链接 分支名

image-20220114162923241

4.ideal集成git

4.1 配置 Git 忽略文件

忽略诸如.ideal之类的文件,不让其添加到git,与项目的实际功能无关,不参与服务器上部署运行。把它们忽略掉能够屏蔽 IDE 工具之 间的差异。

1)创建忽略规则文件 xxxx.ignore(前缀名随便起,建议是 git.ignore) 这个文件的存放位置原则上在哪里都可以,为了便于让~/.gitconfig 文件引用,建议也放在当前windows用户家目录下

git.ignore 文件模版内容如下:

# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
# virtual machine crash logs, see
http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
.classpath
.project
.settings
target
.idea
*.iml

2)在.gitconfig 文件中引用忽略配置文件(此文件在 Windows 的家目录中)

[user]
	name = Layne
	email = Layne@atguigu.com
[core]
	excludesfile = C:/Users/asus/git.ignore
注意:这里要使用“正斜线(/)”,不要使用“反斜线(\)”

如我们在c盘根目录下新建git.ignore文件,并在.gitconfig中忽略他们。在.gitconfig中忽略

image-20210726120416301

打开并设置忽略

image-20210726120631910

4.2 定位 Git 程序

我们需要在ideal中配置git,打开ideal的setting,找到git,之后选择git的安装目录,之后进行测试即可

image-20210726121059628

4.3 初始化本地库

我们的项目想要用git进行版本控制,我们在ideal中点击vcs的创建git仓库,

image-20210726121451949

之后选择我们要进行管理的项目即可

image-20210726121558718

4.4 添加到暂存区

当我们使用git管理项目之后,我们右键点击项目选择 Git -> Add 将项目添加到暂存区。也可以点击单个文件进行添加到暂存区,此时我们发现我们的文件变为由红色变为绿色,表示我们把项目添加到暂存区成功,红色表示我们git还未追踪此文件

image-20210726121856976

注意:当我们设置了忽略文件时,git在进行添加到暂存区的时候会提示我们我们已经添加了忽略文件设置(即我们上面的设置),是否忽略文件不提交,我们点击取消即可

image-20210726122103220

4.5 提交到本地库

当我们将代码添加到暂存区之后,需要提交到本地库,我们右键项目,点击git下的commit directory进行提交到本地库即可

image-20210726122203846

image-20210726122216628

当我们提交之后发现文件由绿色变为黑色,表示我们提交成功

4.6 切换版本

我们想要在ideal中切换版本,点击左下角的Version Control

image-20220114164256552

我们右键进行切换版本即可

image-20210726122805015

4.7 创建分支

我们右键项目,选择创建分支

image-20210726122943800

继续

image-20210726123035853

或者我们直接

image-20210726123448591

image-20210726123546913

4.8 切换分支

image-20210726123350139

4.9 合并分支

主要:合并前需要先将对应分支的代码提交到本地库

正常合并

我们要合并hot-fix分支到master分支(正常合并)

image-20210726123950618

代码冲突合并

image-20210726124325282

我们进行手动合并代码

image-20210726124552523

通过查看日志我们也可以发现

image-20210726124803546

5.ideal集成GitHub

5.1 设置 GitHub 账号

ideal默认就有GitHub插件,如果没有我们在插件中搜索下载即可

image-20210726155510561

登录不上可以使用token的方式进行登录

image-20210726155852032

在GitHub上进入设置

image-20220114165605268

之后生成token即可

image-20210726160114866

然后将生成的token复制到 idea 中。注意,此token只会显示一次,当刷新页面之后就不再显示

image-20210726160255051

之后使用token登录

image-20210726160349794

5.2 分享工程到 GitHub

当我们在ideal中登录了GitHub账号后,我们可以直接分享项目到GitHub,而不用先在GitHub中创建仓库再把项目push上去

image-20210726160601391

之后我们分享即可

image-20210726160901531

5.3 push 推送本地库到远程库

我们推送项目到GitHub,右键项目进行提交,需要先提交到本地库再push,也可以在提交本地库的时候就commit和push一起做,此处分开了而已

image-20210726161216721

或者通过vcs的git的push也可以

image-20210726161458571

我们就可以进行push了

image-20210726161704874

使用ssh进行推送,我们先复制ssh链接

image-20210726161755724

之后回到ideal

image-20210726161858724

将ssh链接复制

image-20210726161955447

之后push即可

image-20210726162119104

​ 注意:push 是将本地库代码推送到远程库,如果本地库代码跟远程库代码版本不一致, push 的操作是会被拒绝的。也就是说,要想 push 成功,一定要保证本地库的版本要比远程 库的版本高!

​ 因此一个成熟的程序员在动手改本地代码之前,一定会先检查下远程库跟本地 代码的区别!如果本地的代码版本已经落后,切记要先 pull 拉取一下远程库的代码,将本地 代码更新到最新以后,然后再修改,提交,推送!

5.4 pull 拉取远程库到本地库

注意:pull 是拉取远端仓库代码到本地,如果远程库代码和本地库代码不一致,会自动 合并,如果自动合并失败,还会涉及到手动解决冲突的问题。

image-20210726162458554

选择拉取的方式,此处我们选择ssh免密登录的方式

image-20210726162528374

5.4 clone 克隆远程库到本地

点击Get from Version Control

image-20210726162723206

输入链接(https和ssh皆可)

image-20210726162807095

6.码云 gitee

众所周知,GitHub 服务器在国外,使用 GitHub 作为项目托管网站,如果网速不好的话, 严重影响使用体验,甚至会出现登录不上的情况。针对这个情况,大家也可以使用国内的项 目托管网站-码云。

码云是开源中国推出的基于 Git 的代码托管服务中心,网址是 https://gitee.com/ ,使用 方式跟 GitHub 一样,而且它还是一个中文网站,如果你英文不是很好它是最好的选择。

6.1 码云创建远程库

image-20210726163216475

image-20210726163228403

6.2 IDEA 集成码云

Idea 默认不带码云插件,我们第一步要安装 Gitee 插件。

image-20210726163307381

之后添加码云账号

image-20210726163343694

6.3 推送项目到码云

此处演示的是已经在码云上创建了一个远程仓库的情况,我们也可以直接上传到码云,不用先在码云上进行创建远程仓库(点击vcs下的import into version control的share project on gitee即可)

image-20210726163601022

自定义一个项目别名

image-20210726163647830

复制码云的项目链接

image-20210726163731460

push即可

image-20210726163843267

6.4 拉取码云项目

image-20210726163950622

pull即可

image-20210726164038476

6.5 码云导入GitHub项目

码云提供了直接复制 GitHub 项目的功能,方便我们做项目的迁移和下载

image-20210726164426209

码云还可以帮助我们同步GitHub上的代码

image-20210726164628927

7.GitLab

自建代码托管平台-GitLab

7.1 GitLab 简介

GitLab 是由 GitLabInc.开发,使用 MIT 许可证的基于网络的 Git 仓库管理工具,且具有 wiki 和 issue 跟踪功能。

使用 Git 作为代码管理工具,并在此基础上搭建起来的 web 服务。 GitLab 由乌克兰程序员 DmitriyZaporozhets 和 ValerySizov 开发,它使用 Ruby 语言写 成。后来,一些部分用 Go 语言重写。截止 2018 年 5 月,该公司约有 290 名团队成员,以 及 2000 多名开源贡献者。GitLab 被 IBM,Sony,JülichResearchCenter,NASA,Alibaba, Invincea,O’ReillyMedia,Leibniz-Rechenzentrum(LRZ),CERN,SpaceX 等组织使用。

GitLab官网地址:https://about.gitlab.com/安装说明:https://about.gitlab.com/installation/

7.1 安装包准备

服务器准备

​ 准备一个系统为 CentOS7 以上版本的服务器,要求内存 4G,磁盘 50G。 关闭防火墙,并且配置好主机名和 IP,保证服务器可以上网。 此教程使用虚拟机:主机名:gitlab-server IP 地址:192.168.6.200

Yum 在线安装 gitlab- ce 时,需要下载几百 M 的安装文件,非常耗时,所以最好提前把 所需 RPM 包下载到本地,然后使用离线 rpm 的方式安装。 下载地址: https://packages.gitlab.com/gitlab/gitlabce/packages/el/7/gitlab-ce-13.10.2-ce.0.el7.x86_64.rpm

注:资料里提供了此 rpm 包,直接将此包上传到服务器/opt/module 目录下即可。

7.2 编写安装脚本

安装 gitlab 步骤比较繁琐,因此我们可以参考官网编写 gitlab 的安装脚本

[root@gitlab-server module]# vim gitlab-install.sh
sudo rpm -ivh /opt/module/gitlab-ce-13.10.2-ce.0.el7.x86_64.rpm
sudo yum install -y curl policycoreutils-python openssh-server cronie
sudo lokkit -s http -s ssh
sudo yum install -y postfix
sudo service postfix start
sudo chkconfig postfix on
curl https://packages.gitlab.com/install/repositories/gitlab/gitlabce/script.rpm.sh | sudo bash
sudo EXTERNAL_URL="http://gitlab.example.com" yum -y install gitlabce

给脚本增加执行权限

[root@gitlab-server module]# chmod +x gitlab-install.sh
[root@gitlab-server module]# ll
总用量 403104
-rw-r--r--. 1 root root 412774002 47 15:47 gitlab-ce-13.10.2-
ce.0.el7.x86_64.rpm
-rwxr-xr-x. 1 root root 416 47 15:49 gitlab-install.sh

然后执行该脚本,开始安装 gitlab-ce。注意一定要保证服务器可以上网。

[root@gitlab-server module]# ./gitlab-install.sh
警告:/opt/module/gitlab-ce-13.10.2-ce.0.el7.x86_64.rpm: 头 V4
RSA/SHA1 Signature, 密钥 ID f27eab47: NOKEY
准备中... #################################
[100%]
正在升级/安装...
 1:gitlab-ce-13.10.2-ce.0.el7
################################# [100%]
。 。 。 。 。 。

7.3 初始化 GitLab 服务

执行以下命令初始化 GitLab 服务,过程大概需要几分钟,耐心等待…

[root@gitlab-server module]# gitlab-ctl reconfigure
。 。 。 。 。 。
Running handlers:
Running handlers complete
Chef Client finished, 425/608 resources updated in 03 minutes 08
seconds
gitlab Reconfigured!

7.4 启动 GitLab 服务

执行以下命令启动 GitLab 服务,如需停止,执行 gitlab-ctl stop

[root@gitlab-server module]# gitlab-ctl start
ok: run: alertmanager: (pid 6812) 134s
ok: run: gitaly: (pid 6740) 135s
ok: run: gitlab-monitor: (pid 6765) 135s
    ok: run: gitlab-workhorse: (pid 6722) 136s
ok: run: logrotate: (pid 5994) 197s
ok: run: nginx: (pid 5930) 203s
ok: run: node-exporter: (pid 6234) 185s
ok: run: postgres-exporter: (pid 6834) 133s
ok: run: postgresql: (pid 5456) 257s
ok: run: prometheus: (pid 6777) 134s
ok: run: redis: (pid 5327) 263s
ok: run: redis-exporter: (pid 6391) 173s
ok: run: sidekiq: (pid 5797) 215s
ok: run: unicorn: (pid 5728) 221s

7.5 使用浏览器访问 GitLab

使用主机名或者 IP 地址即可访问 GitLab 服务。需要提前配一下 windows 的 hosts 文件。

image-20210726165221684

首次登陆之前,需要修改下 GitLab 提供的 root 账户的密码,要求 8 位以上,包含大小 写子母和特殊符号。因此我们修改密码为 Atguigu.123456 然后使用修改后的密码登录 GitLab。

image-20210726165246923

7.6 GitLab 创建远程库

image-20210726165325064

7.7 IDEA 集成 GitLab

安装 GitLab 插件

image-20210726165434482

设置 GitLab 插件

image-20210726165631660

配置成功:

image-20210726165705791

7.8 推送项目到GitLab

打开我们的gitlab项目,复制http链接,

image-20210726165915438

此处需要注意的是我们复制的链接是由缺陷的,gitlab默认给我们的链接是示例链接,需要我们做一些修改,修改如下:

image-20210726170100535

之后我们在ideal中push

image-20210726170251988

创建仓库别名

image-20210726170343640

输入gitlab的项目链接

image-20210726170445805

push即可

image-20210726170527917

只要 GitLab 的远程库连接定义好以后,对 GitLab 远程库进行 pull 和 clone 的操作和 Github 和码云一致,此处不再赘述。

喜欢请关注我

至此,我们的Git、GitHub、Gitee、GitLab的学习就讲解完毕了。喜欢我的话可以关注我的微信公众号 我爱学习呀嘻嘻 ,不定期分享各类资源哦。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值