Git——感谢尚硅谷官方文档

Git——尚硅谷学习笔记

      • 第1章 Git 概述
        • 1.1 何为版本控制
        • 1.2 为什么需要版本控制
        • 1.3 版本控制工具
        • 1.4 Git 简史
        • 1.5 Git 工作机制
        • 1.6 Git 和代码托管中心
      • 第2章 Git 安装
      • 第 3 章 Git 常用命令
        • 3.1 设置用户签名
        • 3.2 初始化本地库
        • 3.3 查看本地库状态
        • 3.4 添加暂存区
          • 3.4.1 将工作区的文件添加到暂存区
          • 3.4.2 查看状态(检测到暂存区有新文件)
          • 3.4.2 暂存区删除文件工作区仍有
          • 3.5 提交本地库
          • 3.6 修改文件测试
          • 3.7 历史版本
            • 3.7.1 查看历史版本
            • 3.7.2 版本穿梭
      • 第 4 章 Git 分支操作
          • 4.1 什么是分支
          • 4.2 分支的好处
          • 4.3 分支的操作
            • 4.3.1 查看分支
            • 4.3.2 创建分支
            • 4.3.3 切换分支
            • 4.3.4 合并分支
            • 4.3.5 产生冲突
      • 第 5 章 Git 团队协作机制
        • 5.1 团队内协作
        • 5.2 跨团队协作
      • 第 6 章 GitHub 操作
        • 6.1 创建远程仓库
        • 6.2 远程仓库操作
          • 6.2.1 创建远程仓库别名
          • 6.2.2 推送本地分支到远程仓库
          • 6.2.3 拉取远程仓库到本地
          • 6.2.4 克隆远程仓库到本地
          • 6.2.5 邀请加入团队
        • 6.3 跨团队协作
        • 6.4 SSH 免密登录
      • 第 7 章 IDEA 集成 Git
        • 7.1 配置 Git 忽略文件
        • 7.2 定位 Git 程序
        • 7.3 初始化本地库
        • 7.4 添加到暂存区
        • 7.5 提交到本地库
        • 7.6 切换版本
        • 7.7 创建分支
        • 7.8 切换分支
        • 7.9 合并分支
        • 7.10 解决冲突
      • 第 8 章 IDEA 集成 GitHub
        • 8.1 设置 GitHub 账号
        • 8.2 分享工程到 GitHub
        • 8.3 push 推送本地库到远程库
        • 8.4 pull 拉取远程库到本地库
        • 8.5 clone 克隆远程库到本地
      • 第 9 章 国内代码托管中心-码云
        • 9.1 简介
        • 9.2 码云帐号注册和登录
        • 9.3 码云创建远程库
        • 9.4 IDEA 集成码云
          • 9.4.1 IDEA 安装码云插件
          • 9.4.2 IDEA 连接码云进行操作
          • 9.5 码云复制 GitHub 项目
      • 第 10 章 自建代码托管平台-GitLab
        • 10.1 GitLab 简介
        • 10.2 GitLab 官网地址
        • 10.3 GitLab 安装
          • 10.3.1 服务器准备
          • 10.3.2 安装包准备
          • 10.3.3 编写安装脚本,初始化,启动(安装有错误但是使用暂时无影响)
          • 10.3.4 使用浏览器访问 GitLab
          • 10.3.5 GitLab 创建远程库
          • 10.3.6 IDEA 集成 GitLab

仅自用,如有侵权,立刻删!——感谢【尚硅谷】官方文档

第1章 Git 概述

  • Git 是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。
  • Git 易于学习,占地面积小,性能极快。
  • 它具有廉价的本地库,方便的暂存区域和多个工作流分支等特性。
  • 其性能优于 Subversion、CVS、Perforce 和 ClearCase 等版本控制工具。
1.1 何为版本控制
  • 版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统。

  • 版本控制其实最重要的是可以记录文件修改历史记录,从而让用户能够查看历史版本,方便版本切换。

    image-20220914100527326

1.2 为什么需要版本控制

个人开发过渡到团队协作

image-20220914101734606

1.3 版本控制工具
  • 集中式版本控制工具

    • CVS、SVN(Subversion)、VSS……

      image-20220914101955839

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

    • 多年以来,这已成为版本控制系统的标准做法。这种做法带来了许多好处,每个人都可以在一定程度上看到项目中的其他人正在做些什么。

    • 管理员也可以轻松掌控每个开发者的权限,并且管理一个集中化的版本控制系统,要远比在各个客户端上维护本地数据库来得轻松容易。

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

  • 分布式版本控制工具

    • Git、Mercurial、Bazaar、Darcs……

      image-20220914102142205

      每个客户端都是代码库,可以在自己的电脑做版本控制工具。

      还有一个远程库未画出。

    • 像 Git 这种分布式版本控制工具,客户端提取的不是最新版本的文件快照,而是把代码仓库完整地镜像下来(本地库)。

    • 这样任何一处协同工作用的文件发生故障,事后都可以用其他客户端的本地仓库进行恢复。因为每个客户端的每一次文件提取操作,实际上都是一次对整个文件仓库的完整备份。

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

      1. 服务器断网的情况下也可以进行开发(因为版本控制是在本地进行的)
      2. 每个客户端保存的也都是整个完整的项目(包含历史记录,更加安全)
1.4 Git 简史

image-20220914102953954

1.5 Git 工作机制

image-20220914103310770

1.6 Git 和代码托管中心

image-20220914103437534

第2章 Git 安装

第 3 章 Git 常用命令

image-20220914103947666

3.1 设置用户签名
  • 基本语法
git config --global user.name duanyf
git config --global user.email qq邮箱
  • 案例实操

    • 验证是否设置成功 进入 ‪C:\Users\Administrator\.gitconfig

      image-20220914104440681

    • 说明:

      1. 签名的作用是区分不同操作者身份。
      2. 用户的签名信息在每一个版本的提交信息中能够看到,以此确认本次提交是谁做的。
      3. Git 首次安装必须设置一下用户签名,否则无法提交代码。
    • 注意:这里设置用户签名和将来登录 GitHub(或其他代码托管中心)的账号没有任何关系。

3.2 初始化本地库
  • 基本语法

    git init
    
  • 案例实操

    1. 创建测试目录 D:\Test\git-demo,使用git管理git-demo,在该目录右键Git Bash Here

      image-20220914104952657

    2. 查看

      image-20220914105155357

  • 结果查看

    image-20220914105118016

3.3 查看本地库状态
  • 基本语法

    git status
    
  • 案例实操

    • 无文件时

    image-20220914105337685

    • 有文件时

      1. 创建文件vim hello.txt,并保存

        image-20220914105750772

      2. 查看状态

        image-20220914105921814

3.4 添加暂存区
3.4.1 将工作区的文件添加到暂存区
  1. 基本语法

    git add 文件名
    
  2. 案例实操

    image-20220914110218360

3.4.2 查看状态(检测到暂存区有新文件)

image-20220914110244255

3.4.2 暂存区删除文件工作区仍有

image-20220914110456728

3.5 提交本地库
  • 基本语法

    git commit -m "日志信息" 文件名
    
  • 案例实操

    image-20220914141947710

3.6 修改文件测试
  1. 修改文件

    image-20220914142337015

  2. 查看状态(检测到工作区有文件被修改)

    image-20220914142406241

  3. 将修改的文件再次添加暂存区

    image-20220914142511756

  4. 查看状态(工作区的修改添加到了暂存区)

    image-20220914142522775

  5. 提交到本地库

    image-20220914142636328

  6. 查看本地库版本

    image-20220914142659027

3.7 历史版本
3.7.1 查看历史版本
  • 基本语法

    git reflog 查看版本信息
    git log 查看版本详细信息
  • 案例实操

    image-20220914142933436

3.7.2 版本穿梭
  • 基本语法

    git reset --hard 版本号
    
  • 案例实操

    image-20220914143504876

    image-20220914143523537

    image-20220914143540677

第 4 章 Git 分支操作

image-20220914144146258

4.1 什么是分支
  • 在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。

  • 使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。

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

    image-20220914144730947

4.2 分支的好处
  • 同时并行推进多个功能开发,提高开发效率。
  • 各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。
4.3 分支的操作

image-20220914144833844

4.3.1 查看分支
  • 基本语法

    git branch -v
    
  • 案例实操

    image-20220914145215492

4.3.2 创建分支
  • 基本语法

    git branch 分支名
    
  • 案例实操

    image-20220914145323031

4.3.3 切换分支
  • 基本语法

    git checkout 分支名
    
  • 案例实操

    1. 切换为hot-fix分支

      image-20220914145612036

    2. 修改hello.txt

      image-20220914145749902

    3. 查看状态

      image-20220914145816372

    4. 添加至暂存区

      image-20220914145907318

    5. 提交到本地库

      image-20220914150017428

    6. 此时切换回master分支 修改不会同步到master

      image-20220914150204079

4.3.4 合并分支
  • 要将hot-fix分支合并到master分支,需要处于master分支进行
  • 基本语法

    git merge 分支名
    
  • 案例实操 在 master 分支上合并 hot-fix 分支

    image-20220914150709547

4.3.5 产生冲突
  • 冲突产生的原因:

    ​ 合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。Git 无法替我们决定使用哪一个。必须人为决定新代码内容。

  • 实例

    1. 在mster分支修改hello.txt

      image-20220914150918611

      image-20220914151038055

    2. 在hot-fix分支同一文件修改hello.txt

      image-20220914151126091

      image-20220914151145152

      image-20220914151240094

    3. 在 master 分支上合并 hot-fix 分支

      image-20220914151804208

    4. 此时进入hello.txt文件

      image-20220914152158720

      image-20220914152346607

      image-20220914152427835

      1. 添加到暂存区

        git add hello.txt
        
      2. 执行提交(注意:此时使用 git commit 命令时不能带文件名)

        image-20220914152657527

        image-20220914152713166

        注:合并分支,只会修改此分支,合并过来的分支(hot-fix)无变化

第 5 章 Git 团队协作机制

5.1 团队内协作

image-20220914153055415

5.2 跨团队协作

image-20220914153418066

第 6 章 GitHub 操作

6.1 创建远程仓库

image-20220914184619036

远程库最好和本地库姓名相同

image-20220914184630381

6.2 远程仓库操作

image-20220914184851756

6.2.1 创建远程仓库别名
  • 基本语法

    git remote -v 查看当前所有远程地址别名
    git remote add 别名 远程地址(上红线)
    
  • 案例实操

    image-20220914185234672

6.2.2 推送本地分支到远程仓库
  • 基本语法

    git push 别名 分支
    
  • 案例实操

    image-20220914185734766

    image-20220914185747144

6.2.3 拉取远程仓库到本地
  • 基本语法

    git pull 别名 分支
    
  • 案例实操

    1. 对github代码进行更改

      image-20220914190058070

    2. 提交改变

      image-20220914190139305

      此时本地库和远程库代码不同

    3. 拉取代码

      image-20220914190420918

      会自动提交

    4. 查看

      image-20220914190501808

6.2.4 克隆远程仓库到本地

clone 会做如下操作:1、拉取代码。2、初始化本地仓库。3、创建别名

  • 基本语法

    git clone 远程地址
    

    image-20220914190949946

  • 案例实操

    image-20220914190959244

    image-20220914191217792

6.2.5 邀请加入团队

atguiguyueyue 邀请 atguigulinghuchong

  1. 选择邀请合作者

    image-20220914191803533

  2. 填入想要合作的人

    image-20220914191925667

  3. 复 制 地 址 并 通 过 微 信 钉 钉 等 方 式 发 送 给 该 用 户 , 复 制 内 容 如 下 :
    https://github.com/atguiguyueyue/git-shTest/invitations

    image-20220914191950247

  4. 在 atguigulinghuchong 这个账号中的地址栏复制收到邀请的链接,点击接受邀请。

    image-20220914192004333

  5. 成功之后可以在 atguigulinghuchong 这个账号上看到 git-Test 的远程仓库

    image-20220914192042075

  6. 此时atguigulinghuchong可以修改内容并 push 到远程仓库。

  7. 回到 atguiguyueyue 的 GitHub 远程仓库中可以看到,最后一次是 lhc 提交的。

    image-20220914192121473

    image-20220914192129776

6.3 跨团队协作
  1. 将远程仓库的地址复制发给邀请跨团队协作的人,比如atguigudongfang1

    image-20220914192409092

  2. 在东方不败的 GitHub 账号里的地址栏复制收到的链接,然后点击 Fork 将项目叉到自己的本地仓库

    image-20220914192429582

    叉入中…

    image-20220914192449237

    叉成功后可以看到当前仓库信息

    image-20220914192545848

  3. 东方不败就可以在线编辑叉取过来的文件

    image-20220914192603626

  4. 编辑完毕后,填写描述信息并点击左下角绿色按钮提交

    image-20220914192647963

  5. 接下来点击上方的 Pull 请求,并创建一个新的请求

    image-20220914192659097

    image-20220914192804340

  6. 回到岳岳 GitHub 账号可以看到有一个 Pull request 请求

    image-20220914192820156

  7. 进入到聊天室,可以讨论代码相关内容

    image-20220914192943732

  8. 如果代码没有问题,可以点击 Merge pull reque 合并代码。

    image-20220914193058472

6.4 SSH 免密登录

我们可以看到远程仓库中还有一个 SSH 的地址,因此我们也可以使用 SSH 进行访问

image-20220914193245767

  1. 进入当前用户的家目录C:\Users\Administrator,右键Bash here

  2. 输入ssh-keygen -t 加密算法 -C 邮箱

    image-20220914193626818

  3. 进入.ssh 目录查看文件列表

    image-20220914193734124

    私钥和共钥

  4. 复制 id_rsa.pub 文件内容

    image-20220914193846373

  5. 登录 GitHub,点击用户头像→Settings→SSH and GPG keys

    image-20220914193939345

    image-20220914193946554

    image-20220914193958141

第 7 章 IDEA 集成 Git

7.1 配置 Git 忽略文件
  • 忽略文件

    1. Eclipse 特定文件

      image-20220914202907523

    2. IDEA特定文件

      image-20220914202944217

    3. Maven 工程的 target 目录

      image-20220914202955253

  • 问题 1:为什么要忽略他们?

    答:与项目的实际功能无关,不参与服务器上部署运行。把它们忽略掉能够屏蔽 IDE 工具之间的差异。

  • 问题 2:怎么忽略?

    1. 创建忽略规则文件 xxxx.ignore(前缀名随便起,建议是 git.ignore

      • 这个文件的存放位置原则上在哪里都可以,为了便于让家目录/.gitconfig 文件引用,建议也放在用户家目录C:\Users\Administrator

      • 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/Administrator/git.ignore
      注意:这里要使用“正斜线(/)”,不要使用“反斜线(\)”
      
7.2 定位 Git 程序

image-20220914205123129

7.3 初始化本地库

点击VCS后

image-20220914205359833

7.4 添加到暂存区

右键点击项目选择 Git -> Add 将项目添加到暂存区。

image-20220914205706934

7.5 提交到本地库

image-20220914210612033

image-20220914210619363

image-20220914210629639

7.6 切换版本

在 IDEA 的左下角,点击 git,然后点击 Log 查看版本

image-20220914211134054

右键选择要切换的版本,然后在菜单里点击 Checkout Revision。

image-20220914211244804

image-20220914211251629

黄色标签代表头指针

7.7 创建分支
  • 右键项目选择 Git,点击 Branches 按钮。(也可以点击右下角)

    image-20220914211508838

    也可以点击右下角

    image-20220914211624925

  • 在弹出的 Git Branches 框里,点击 New Branch 按钮。

    image-20220914211725389

  • 填写分支名称,创建 hot-fix 分支,勾选checkout 会自动切换分支

    image-20220914211732388

  • 然后再 IDEA 的右下角看到 hot-fix,说明分支创建成功,并且当前已经切换成 hot-fix 分支

    image-20220914211807031

7.8 切换分支

在 IDEA 窗口的右下角,切换到 master 分支。

image-20220914211939718

然后在 IDEA 窗口的右下角看到了 master,说明 master 分支切换成功。

image-20220914212027729

7.9 合并分支
  • 在 IDEA 窗口的右下角,将 hot-fix 分支合并到当前 master 分支

    image-20220914213438461

  • 如果代码没有冲突,分支直接合并成功,分支合并成功以后,代码自动提交,无需手动提交本地库。

7.10 解决冲突
  • 如果 master 分支和 hot-fix 分支都修改了代码,在合并分支的时候就会发生冲突

    image-20220914213719623

    image-20220914213726080

    image-20220914213853112

  • 我们现在站在 master 分支上合并 hot-fix 分支,就会发生代码冲突

    image-20220914213944188

  • 点击 Conflicts 框里的 Merge 按钮,进行手动合并代码。

    image-20220914214139367

  • 手动合并完代码以后,点击右下角的 Apply 按钮,代码冲突解决,自动提交本地库。

    image-20220914214200719

第 8 章 IDEA 集成 GitHub

8.1 设置 GitHub 账号

image-20220914221226118

如果出现 401 等情况连接不上的,是因为网络原因,可以使用以下方式连接:

image-20220914221238144

然后去 GitHub 账户上设置 token

image-20220914221257824

image-20220914221327812

全部打勾

image-20220914221336713

image-20220914221344375

image-20220914221352050

8.2 分享工程到 GitHub

image-20220914222044614

image-20220914222342142

来到 GitHub 中发现已经帮我们创建好了 gitTest 的远程仓库

image-20220914222407038

8.3 push 推送本地库到远程库

右键点击项目(或者在git中),可以将当前分支的内容 push 到 GitHub 的远程仓库中。

image-20220914222708772

image-20220914222743453

image-20220914222840804

image-20220914222942681

image-20220914223009968

image-20220914223232229

image-20220914223258350

image-20220914223303904

注意:

  • push 是将本地库代码推送到远程库,如果本地库代码跟远程库代码版本不一致,push 的操作是会被拒绝的。
  • 也就是说,要想 push 成功,一定要保证本地库的版本要比远程库的版本高!
  • 因此一个成熟的程序员在动手改本地代码之前,一定会先检查下远程库跟本地代码的区别!
  • 如果本地的代码版本已经落后,切记要先 pull 拉取一下远程库的代码,将本地代码更新到最新以后,然后再修改,提交,推送!
8.4 pull 拉取远程库到本地库

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

右键点击项目(或者在git中),可以将当前分支的内容 pull 到 GitHub 的远程仓库中。

image-20220914223547878

image-20220914223601001

image-20220914223945714

8.5 clone 克隆远程库到本地

image-20220914224311344

image-20220914224409797

第 9 章 国内代码托管中心-码云

9.1 简介
  • 众所周知,GitHub 服务器在国外,使用 GitHub 作为项目托管网站,如果网速不好的话,严重影响使用体验,甚至会出现登录不上的情况。
  • 针对这个情况,大家也可以使用国内的项目托管网站-码云。
  • 码云是开源中国推出的基于 Git 的代码托管服务中心,网址是 https://gitee.com/
  • 使用方式跟 GitHub 一样,而且它还是一个中文网站,如果你英文不是很好它是最好的选择。
9.2 码云帐号注册和登录
9.3 码云创建远程库
  • 点击首页右上角的加号,选择下面的新建仓库

    image-20220914225333324

  • 填写仓库名称,路径和选择是否开源(共开库或私有库)

  • 最后根据需求选择分支模型,然后点击创建按钮。

    image-20220914225354163

  • 远程库创建好以后,就可以看到 HTTPS 和 SSH 的链接。

    image-20220914225412506

9.4 IDEA 集成码云
9.4.1 IDEA 安装码云插件
  • Idea 默认不带码云插件,我们第一步要安装 Gitee 插件,如图所示,在 Idea 插件商店搜索 Gitee,然后点击右侧的 Install 按钮

  • Idea 链接码云和链接 GitHub 几乎一样,安装成功后,重启 Idea

  • Idea 重启以后在 Version Control 设置里面看到 Gitee,说明码云插件安装成功。

    image-20220914225946399

  • 然后在码云插件里面添加码云帐号,我们就可以用 Idea 连接码云了

    image-20220914230009061

9.4.2 IDEA 连接码云进行操作

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

  • 将本地代码 push 到码云远程库

    image-20220914230540688

  • 自定义远程库链接

    image-20220914230559028

  • 给远程库链接定义个 name,然后再 URL 里面填入码云远程库的 HTTPS 链接即可。码云服务器在国内,用 HTTPS 链接即可,没必要用 SSH 免密链接

    image-20220914230647669

  • 然后选择定义好的远程链接,点击 Push 即可

    image-20220914230714555

  • 看到提示就说明 Push 远程库成功。

9.5 码云复制 GitHub 项目

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

  • 创建时

    image-20220914231036069

  • 将 GitHub 的远程库 HTTPS 链接复制过来

    image-20220914231148874

    image-20220914231254997

  • 如果 GitHub 项目更新了以后,在码云项目端可以手动重新同步,进行更新!

    image-20220914231505033

    image-20220914231511168

第 10 章 自建代码托管平台-GitLab

10.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 等组织使用。
10.2 GitLab 官网地址

官网地址:https://about.gitlab.com/或http://gitlab.code-nav.cn/

安装说明:https://about.gitlab.com/installation/

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

克隆虚拟机

  1. 右键源虚拟机—>管理

    image-20221003110459020

  2. 选择虚拟机当前状态

  3. 选择创建完整克隆

  4. 设置名称

    image-20221003110955320

  5. 修改IP地址

    sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33
    

    image-20221003121048365

    service network restart
    
  6. 修改主机名

    sudo vim /etc/hostname 
    

    image-20221003112918748

  7. 在本机配置host文件

10.3.2 安装包准备

Yum 在线安装 gitlab- ce 时,需要下载几百 M 的安装文件,非常耗时,所以最好提前把所需 RPM 包下载到本地,然后使用离线 rpm 的方式安装。

下载地址

直接将此包上传到服务器/opt/module 目录下即可

  • 创建/opt/module
  • 通过ssh工具将rpm放到桌面
  • 将rpm通过mv命令移动到/opt/module 目录
10.3.3 编写安装脚本,初始化,启动(安装有错误但是使用暂时无影响)
  1. 安装 gitlab 步骤比较繁琐,因此我们可以参考官网编写 gitlab 的安装脚本

    cd /opt/module
    vim gitlab-install.sh
    

    在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/gitlab-ce/script.rpm.sh | sudo bash
    sudo EXTERNAL_URL="http://gitlab.example.com" yum -y install gitlab-ce
    
  2. 给脚本添加执行权限

    chmod +x gitlab-install.sh
    
  3. 执行该脚本,开始安装 gitlab-ce。注意一定要保证服务器可以上网

    ./gitlab-install.sh
    
  4. 初始化 GitLab 服务

    gitlab-ctl reconfigure
    
  5. 启动 GitLab 服务

    gitlab-ctl start
    

    image-20221003130411507

10.3.4 使用浏览器访问 GitLab
  1. 使用浏览器访问 GitLab

    • 使用主机名访问 GitLab 服务。需要提前配一下 windows 的 hosts 文件

      image-20221003130616867

      image-20221003130705801

    • 使用IP 地址即可访问 GitLab 服务

      image-20221003130736950

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

    image-20221003131353397

    image-20221003131239166

  3. 显示404,返回重sign in又好了

    image-20221003131457782

10.3.5 GitLab 创建远程库

image-20221003131635723

image-20221003131704211

10.3.6 IDEA 集成 GitLab
  1. 安装 GitLab 插件

    image-20221003132433427

  2. 设置 GitLab 插件

    image-20221003132225150

    image-20221003132340368

  3. 复制http链接

    复制http链接,注意此时给的http是案例链接,需要自己修改为http://gitlab-server/root/git-test.git

    image-20221003132536422

  4. push 本地代码到 GitLab 远程库

    image-20221003132741562

    image-20221003132753318

    image-20221003132841913

    image-20221003132921826

    此时可能会push失败

    image-20221003142154949

    image-20221003142318971

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

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

相关文章

sklearn模型中预测值的R2_score为负数

目录 正文评论区参考链接 正文 Sklearn.metrics下面的r2_score函数用于计算R(确定系数:coefficient of determination)。它用来度量未来的样本是否可能通过模型被很好地预测。 分值为 1 表示最好,但我们在使用过程中&#xff0c…

媒体格式转换软件Permute 3 mac中文版软件特点

Permute mac是一款媒体格式转换软件,可以帮助用户快速地将各种音频、视频和图像文件转换成所需格式,并提供了一些常用工具以便于用户进行编辑和处理。 Permute mac软件特点 - 支持大量格式:支持几乎所有常见的音频、视频和图像格式&#xff…

Redis事务+秒杀案例

Redis事务是一个单独的隔离操作,是指将多条命令放在一个命令队列当中,按顺序执行,保证多个命令在同一个事务中执行而不受其他客户端的影响。 通俗来说就是:串联多个命令防止别的命令插队。 1.Multi、Exec、discard 在输入Multi命…

大数据Doris(二十七):Routine Load数据导入演示

文章目录 Routine Load数据导入演示 一、启动kafka集群(三台节点都启动) 二、创建topic

[SWPUCTF 2021 新生赛]非常简单的逻辑题 // %的逆向

代码解密题 flag xxxxxxxxxxxxxxxxxxxxx s wesyvbniazxchjko1973652048$-&*<> result for i in range(len(flag)):s1 ord(flag[i])//17s2 ord(flag[i])%17result s[(s1i)%34]s[-(s2i1)%34] print(result) # result v0b9n1nkajzj0c4jjo3oi1h1i937b395i5y5e0e…

2024电脑录屏软件排行第一Camtasia喀秋莎

真的要被录屏软件给搞疯了&#xff0c;本来公司说要给新人做个培训视频&#xff0c;想着把视频录屏一下&#xff0c;然后简单的剪辑一下就可以了。可谁知道录屏软件坑这么多&#xff0c;弄来弄去头都秃了&#xff0c;不过在头秃了几天之后&#xff0c;终于让我发现了一个值得“…

微信小程序面试题【100道】

文章目录 小程序面试题100问前言一、技术性问题1.有哪些参数传值的方法2.小程序修改数据值与Vue和React有什么差异3.如何实现下拉刷新与上拉加载4.bindtap和catchtap的区别是什么5.小程序有哪些导航API&#xff0c;它们各自的应用场景与差异区别是什么6.小程序中如何使用第三方…

城市易涝点怎么安装万宾科技内涝积水监测仪?

城市内涝是多个城市广泛存在的问题&#xff0c;经常给城市的居民和基础设施带来一些安全威胁。暴雨引发的道路积水和交通中断、财产损失&#xff0c;甚至公共安全威胁都是城市管理者需要提前预防的问题。为了解决这些问题&#xff0c;内涝积水监测仪的应用是一大重要的举措&…

CSDN流量卷领取和使用保姆级教程——流量卷,恭喜获得每日任务奖励【1500曝光】可获得新增曝光,阅读转化,点赞转化,新增关注-流量卷,流量卷,流量卷

希望本文能够给您带来一定的帮助&#xff0c;文章粗浅&#xff0c;敬请批评指正&#xff01; 目录 话不多说&#xff0c;直接上干货&#xff1a; 第一步&#xff1a;流量卷领取教程&#xff1a;点击内容管理&#xff1a;​编辑 第二步&#xff1a;点击首页&#xff1a;​编辑…

springcloud医院挂号预约系统源码

开发技术&#xff1a; jdk1.8&#xff0c;mysql5.7&#xff0c;nodejs&#xff0c;idea&#xff0c;vscode springcloud springboot mybatis vue elementui 功能介绍&#xff1a; 用户端&#xff1a; 登录注册 首页显示医生列表&#xff0c;医院简介&#xff0c;点击医生…

2023年【上海市安全员C3证】考试内容及上海市安全员C3证复审考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 上海市安全员C3证考试内容是安全生产模拟考试一点通总题库中生成的一套上海市安全员C3证复审考试&#xff0c;安全生产模拟考试一点通上上海市安全员C3证作业手机同步练习。2023年【上海市安全员C3证】考试内容及上海…

在银行外包如何自我提升

作者&#xff1a;苍何&#xff0c;前大厂高级 Java 工程师&#xff0c;阿里云专家博主&#xff0c;CSDN 2023 年 实力新星&#xff0c;土木转码&#xff0c;现任部门技术 leader&#xff0c;专注于互联网技术分享&#xff0c;职场经验分享。 &#x1f525;热门文章推荐&#xf…

阿里云ECS服务器如何搭建并连接FTP,完整步骤

怎么用终端连接服务器就不多说了&#xff0c;直接开始搭建FTP。 我是用root账号执行的命令&#xff0c;如果不使用root账号&#xff0c;注意在命令前面加sudo。 一、安装FTP 我这里安装的是vsftpd。 1、检查是否已安装vsftpd&#xff1a; vsftpd -v如果出现了版本信息&…

智能座舱架构与芯片- (5) 硬件篇 下

四、短距无线连接 随着汽车智能化的发展与新型电子电气架构的演进&#xff0c;传统车内有线通信技术存在着诸多痛点&#xff1a; 线束长度增加&#xff1a;由于智能化与自动化的发展&#xff0c;车内传感器和执行器均大幅增加。采用有线技术连接&#xff0c;则线束长度&#…

FL Studio21.2.0.3858免激活版安装下载

前阵子世界级电音盛会Tomorrowland在比利时如期举行&#xff0c;拉开了疫情下Rave文化复兴的帷幕。而国内&#xff0c;也推出了如《超感星电音》等电子音乐综艺&#xff0c;在节目上大家也更多地了解到了电子音乐的制作过程。节目中最被大家看好的制作人Carta所使用的FL Studio…

Camtasia2024年破解版安装包如何下载?

作为一个互联网人&#xff0c;没少在录屏软件这个坑里摸爬滚打。培训、学习、游戏、影视解说……都得用它。这时候没个拿得出手的私藏软件&#xff0c;还怎么混&#xff1f;说实话&#xff0c;录屏软件这两年也用了不少&#xff0c;基本功能是有但总觉得缺点什么&#xff0c;直…

SpringBoot静态资源配置

项目中 SSM中配置 第一种&#xff1a;配置文件中 <mvc:resources mapping"/js/**" location"/js/"/> <mvc:resources mapping"/css/**" location"/css/"/> <mvc:resources mapping"/html/**" location&q…

在无回显的情况下如何判断是否存在命令注入漏洞

在无回显的情况下如何判断是否存在命令注入漏洞 这种情况下可以使用OOB带外来实现&#xff0c;言而简之&#xff0c;就是利用命令执行漏洞去解析我们的dns如果dns日志有记录那就说明存在命令注入漏洞 首先先简单搭建一个无回显的命令注入 <?phpexec($_REQUEST[777]); ?&…

windows事件查看器日志

Windows 事件查看器&#xff08;Event Viewer&#xff09;是 Windows 操作系统提供的一个内置工具&#xff0c;它用于管理和查看系统、应用程序和安全事件日志。在 Windows 系统中&#xff0c;各种活动和错误都会被记录到事件日志中&#xff0c;包括系统启动、应用程序崩溃、安…

力扣第463题 岛屿的周长 C++ 深度优先搜索 + 思维判断的边界

题目 463. 岛屿的周长 简单 相关标签 深度优先搜索 广度优先搜索 数组 矩阵 给定一个 row x col 的二维网格地图 grid &#xff0c;其中&#xff1a;grid[i][j] 1 表示陆地&#xff0c; grid[i][j] 0 表示水域。 网格中的格子 水平和垂直 方向相连&#xff08;对角线…