Linux企业实战(四十六)——持续集成与持续交付(三)

git工具(二)

(1)git的安装和使用

  • 安装git
yum install -y git     

在这里插入图片描述

  • 获取git仓库(一般有两种方法):

    • 将尚未进行版本控制的本地目录转换为 Git 仓库;
    • 从其它服务器克隆 一个已存在的 Git 仓库。
这里我们先采用第一种获取git仓库的方式
[root@server2 ~]# mkdir demo
[root@server2 ~]# cd /root/demo/
[root@server2 demo]# ls
[root@server2 demo]#  git init
Initialized empty Git repository in /root/demo/.git/
[root@server2 demo]# ls
[root@server2 demo]# l.
.  ..  .git

在这里插入图片描述

注意:尽量不要进入.git这个目录,因为这里保存了核心数据

  • 用户信息

    • 设置你的用户名和邮件地址。 这一点很重要,因为每一个 Git 提交都会使用这些信息,它们会写入到你的每一次提交中,不可更改。
git config --global user.name "bdkl"
git config --global user.email 1067899984@qq.com

在这里插入图片描述

注意:如果使用了 --global 选项,那么该命令只需要运行一次,因为之后无论你在该系统上做任何事情, Git 都会使用那些信息。当你想针对特定项目使用不同的用户名称与邮件地址时,可以在那个项目目录下运行没有 --global 选项的命令来配置。

检查当前文件状态

注意:可以用 git status 命令查看哪些文件处于什么状态;
在这里插入图片描述

  • 现在在仓库中创建一个文件,来看一下其状态
touch file
git status
git status -s     #简化输出

在这里插入图片描述
新添加的未跟踪文件前面有 ?? 标记,表示还未放入仓库,还不能够进行版本控制

  • 跟踪新文件

    • 使用命令 git add 开始跟踪我们刚刚创建的文件file1
git add file1
git status -s

在这里插入图片描述
在这里插入图片描述

只要在 Changes to be committed 这行下面的,就说明是已暂存状态。 如果此时提交,那么该文件在你运行 git add 时的版本将被留存在后续的历史记录中。

  • 提交更新

    • 当前我们的文件file1已经到达暂存区,可以进行提交了;
    • 这些已修改但未暂存的文件只会保留在本地磁盘。 所以,每次准备提交前,先用 git status 看下,你所需要的文件是不是都已暂存起来了, 然后再运行提交命令 git commit
      在这里插入图片描述
  • 修改已经提交至仓库的文件

echo hahaha >> file1
cat file1
git status -s

在这里插入图片描述

  • 查看已暂存和未暂存的修改
git diff 

在这里插入图片描述
将修改后的文件再次进行跟踪

git add file1
git status -s

在这里插入图片描述
再次修改file1文件中的内容

echo xixixi >> file1
cat file1
git status -s
git add file1
git status -s

在这里插入图片描述

git add file1				#修改后再次进行跟踪
git status -s
git commit -m "add file1"   #将跟踪的文件提交到仓库
git status -s

在这里插入图片描述
总结:新添加的未跟踪文件前面有 ?? 标记,新添加到暂存区中的文件前面有 A 标记,修改过的文件前面有 M 标记。 输出中有两栏,左栏指明了暂存区的状态,右栏指明了工作区的状态

  • 忽略文件

    • 一般我们总会有些文件无需纳入 git 的管理,也不希望它们总出现在未跟踪文件列表。 通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。 在这种情况下,我们可以创建一个名为 .gitignore 的文件,列出要忽略的文件的模式。

    • 文件 .gitignore 的格式规范如下:

      • 所有空行或者以 # 开头的行都会被 git 忽略;
      • 可以使用标准的 glob 模式匹配,它会递归地应用在整个工作区中;
      • 匹配模式可以以(/)开头防止递归;
      • 匹配模式可以以(/)结尾指定目录;
      • 要忽略指定模式以外的文件或目录,可以在模式前加上叹号(!)取反。
    • 所谓的 glob 模式是指 shell 所使用的简化了的正则表达式

      • 星号(*)匹配零个或多个任意字符;
      • [abc] 匹配任何一个列在方括号中的字符 (这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c);
      • 问号(?)只匹配一个任意字符;
      • 如果在方括号中使用短划线分隔两个字符, 表示所有在这两个字符范围内的都可以匹配(比如 [0-9] 表示匹配所有 0 到 9 的数字);
      • 使用两个星号(**)表示匹配任意中间目录,比如 a/**/z 可以匹配 a/z 、 a/b/z 或 a/b/c/z 等。
        在这里插入图片描述
        现在我们不想让.o文件和dir1目录纳入我们的git管理,并且不希望在使用git status时,它们总出现在暂存区,这是我们就需要创建.gitignore文件
vim .gitignore

.*
dir1

git status -s

在这里插入图片描述

  • 跳过使用暂存区域

    • 尽管使用暂存区域的方式可以精心准备要提交的细节,但有时候这么做略显繁琐。 git 提供了一个跳过使用暂存区域的方式, 只要在提交的时候,给 git commit 加上 -a 选项,git 就会自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过 git add 步骤
git commit -a -m "added new benchmarks"

在这里插入图片描述

但是需要注意,新添加的文件(还未在版本库中的文件),不能够完成跳过暂存区动作
在这里插入图片描述

总结:已经存在于版本库中的文件,进行修改后,可以使用跳过暂存区的命令,直接提交更新,而未存在于版本库中的文件则不能够直接使用跳过暂存区的命令。

  • 移除文件

    • 要从 git 中移除某个文件,就必须要从已跟踪文件清单中移除(确切地说,是从暂存区域移除),然后提交。 可以用 git rm 命令完成此项工作,并连带从工作目录中删除指定的文件,这样以后就不会出现在未跟踪文件清单中了。
      在这里插入图片描述
    • 另外一种情况是,我们想把文件从 Git 仓库中删除(亦即从暂存区域移除),但仍然希望保留在当前工作目录中。 换句话说,你想让文件保留在磁盘,但是并不想让 Git 继续跟踪。
      在这里插入图片描述
  • 取消暂存的文件

 git reset HEAD file

在这里插入图片描述

  • 撤销对文件的修改
git checkout -- file

在这里插入图片描述
在上图中撤销了删除操作
在这里插入图片描述

  • 查看提交历史
git log
git log -p -2
git log --stat
git log --pretty=oneline

不传入任何参数的默认情况下,git log 会按时间先后顺序列出所有的提交,最近的更新排在最上面。 这个命令会列出每个提交的 SHA-1 校验和、作者的名字和电子邮件地址、提交时间以及提交说明。
在这里插入图片描述
其中一个比较有用的选项是 -p 或 --patch ,它会显示每次提交所引入的差异(按 补丁 的格式输出)。 你也可以限制显示的日志条目数量,例如使用 -2 选项来只显示最近的两次提交。
在这里插入图片描述
--stat 选项在每次提交的下面列出所有被修改过的文件、有多少文件被修改了以及被修改过的文件的哪些行被移除或是添加了。 在每次提交的最后还有一个总结。
在这里插入图片描述
另一个非常有用的选项是 --pretty。 这个选项可以使用不同于默认格式的方式展示提交历史。 这个选项有一些内建的子选项供你使用。 比如 oneline 会将每个提交放在一行显示,在浏览大量的提交时非常有用。
在这里插入图片描述
最有意思的是 format ,可以定制记录的显示格式。

git log --pretty=format 常用的选项

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 版本回退
git reset --hard  3606ef9

在这里插入图片描述

(2)git远程仓库的使用

  • 准备工作:在Githu上注册账号
    在这里插入图片描述

  • 建立一个仓库
    在这里插入图片描述
    在这里插入图片描述

  • 使用ssh 认证的方式,登录远程的github仓库
    在这里插入图片描述
    在本地生成key
    在这里插入图片描述
    在这里插入图片描述

  • 将公钥上传至Github中我们刚刚创建的仓库中
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 将本地的仓库内容推送到GitHub中
    在这里插入图片描述

git remote add origin https://github.com/bdkl24/demo.git
git push -u origin master

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 此时我们的仓库已经保存在服务器上了,我们可以在删除本地的仓库,然后从服务器上来拉取
    在这里插入图片描述
rm -fr /root/demo/
git clone 

在这里插入图片描述
在这里插入图片描述

(3)gitlab代码仓库

  • 准备工作:

    • 至少需要4G的内存;
    • 下载好gitlab软件;
官网:https://about.gitlab.com/install/
软件下载(官方下载慢,推荐使用国内镜像站点)
https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/
  • 安装软件
 yum install -y curl policycoreutils-python openssh-server
 rpm -ivh gitlab-ce-12.10.5-ce.0.el7.x86_64.rpm

在这里插入图片描述

  • 修改配置文件,修改gitlab的地址
vim /etc/gitlab/gitlab.rb
gitlab-ctl  reconfigure

在这里插入图片描述

gitlab-ctl status        		# 查看服务状态

在这里插入图片描述

  • 安装完成之后,在浏览器访问
    在这里插入图片描述
    在这里插入图片描述

  • 修改语言为简体中文
    在这里插入图片描述
    在这里插入图片描述

  • 新建一个项目
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 在设置里进行ssh密钥认证
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 克隆项目
    在这里插入图片描述
    在这里插入图片描述

  • 新建一个文件,推送到gitlab上
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • gitlab的常用命令:

命令功能
gitlab-ctl start启动所有 gitlab 组件
gitlab-ctl stop停止所有 gitlab 组件
gitlab-ctl restart重启所有 gitlab 组件
gitlab-ctl status查看服务状态
gitlab-ctl reconfigure重新加载服务
gitlab-ctl tail查看日志
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值