文章目录
1、Git工具使用
1.1 本地版本控制系统
1.2 集中化的版本控制系统
1.3 分布式版本控制系统
1.4 git简介
- 速度
- 简单的设计
- 对非线性开发模式的强力支持(允许成千上万个并行开发的分支)
- 完全分布式
- 有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)
自诞生于 2005 年以来,Git 日臻成熟完善,在高度易用的同时,仍然保留着初期设定的目标。 它的速度飞快,极其适合管理大项目,有着令人难以置信的非线性分支管理系统。
Git必看秘籍
1.5 安装Git
安装Git:
# yum install -y git
获取 Git 仓库通常有两种方式:
将尚未进行版本控制的本地目录转换为 Git 仓库。
从其它服务器克隆 一个已存在的 Git 仓库。比如: git clone
初始化版本库:
$ mkdir demo
$ cd demo
$ git init
Initialized empty Git repository in /home/git/demo/.git/
$ ls .git/
branches config description HEAD hooks info objects refs
## .git目录是git跟踪管理版本库的,没事别瞎溜达!
增加用户信息
$ git config --global user.name "haojin"
$ git config --global user.email 3333333@qq.com
检查当前文件状态
$ git status
$ git status -s //简化输出
状态简览
$ git status -s
M README
MM Rakefile
A lib/git.rb
M lib/simplegit.rb
?? LICENSE.txt
跟踪新文件
$ git add README
忽略文件
$ cat .gitignore
.* #忽略所有隐藏文件
/test #只忽略当前目录下的test文件
build/ #忽略任何目录下名为 build 的文件夹
查看已暂存和未暂存的修改
$ git diff
提交更新
$ git commit -m '备注'
跳过使用暂存区域
$ git commit -a -m 'added new benchmarks'
移除文件
$ git rm PROJECTS.md
$ git rm --cached README
重命名文件
$ git mv README.md README
其实,运行 git mv 就相当于运行了下面三条命令:
$ mv README.md README
$ git rm README.md
$ git add README
查看提交历史
$ git log
$ git log -p -2
$ git log --stat
$ git log --pretty=oneline
取消暂存的文件
$ git reset HEAD README.md
撤消对文件的修改
$ git checkout -- README.md
版本回退:
$ git reflog
$ git reset --hard efa267a
2、git结合github/gitee使用
- 远程仓库:注册github/gitee帐号,并新建一个仓库:
- 推送本地仓库内容到github:
$ git remote add origin https://github.com/westos007/git.git
//关联远程仓库
$ git push -u origin master //第一次推送需要加 -u参数
- 使用https方式推送每次需要输入用户名和密码,如果不想麻烦的话采用ssh方式:
$ ssh-keygen -t rsa -b 4096 -C "yakexi007@westos.org"
生成本地密钥,并上传公钥到github:
- $ git remote -v ##关联详情
origin https://github.com/westos007/git.git (fetch)
origin https://github.com/westos007/git.git (push)
- $ git remote rm origin ## 移除关联
- $ git remote add origin git@github.com:westos007/git.git ##关联一个新的远程仓库
- $ git remote -v ##关联详情
origin git@github.com:westos007/git.git (fetch)
origin git@github.com:westos007/git.git (push)
- $ git push origin master
克隆远程仓库
- $ git clone git@github.com:westos007/gittest.git
3、Gitlab代码仓库(放github/gitee有风险,这里搭个私有的,数据都在本地)
3.1 gitlab安装
[root@git-1 ~]# yum install -y gitlab-ce-13.2.2-ce.0.el7.x86_64.rpm
[root@git-1 ~]# vim /etc/gitlab/gitlab.rb
external_url 'http://172.25.200.1' ## 修改访问gitlab的地址
[root@git-1 ~]# gitlab-ctl reconfigure ## 重载服务
重载服务(相当于初始化),这步过了就可以后台登陆使用了
第一次访问强制修改密码,按着操作即可(密码:HaoJin12345)
根据需要是否要改成中文:
3.2 gitlab常用命令
gitlab-ctl start # 启动所有 gitlab 组件
gitlab-ctl stop # 停止所有 gitlab 组件
gitlab-ctl restart # 重启所有 gitlab 组件
gitlab-ctl status # 查看服务状态
gitlab-ctl reconfigure # 重载服务
gitlab-ctl tail # 查看日志
3.3 新建仓库(和github/gitee操作一致)
3.4 配置免密(上传时不需要输入用户和密码)
[root@git-1 ~]# ssh-keygen
[root@git-1 ~]# cat .ssh/id_rsa.pub
测试,删除本地的demo,然后从gitlab上clone
4、jenkins
4.1 jenkins介绍
-
Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。
-
Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。
-
CI(Continuous integration持续集成)持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。
-
CD(Continuous Delivery持续交付) 是在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境(类生产环境)中。
4.2 jenkins安装
1 安装jenkins:
# rpm -ivh jdk-8u171-linux-x64.rpm
# rpm -ivh jenkins-2.270-1.1.noarch.rpm
# systemctl start jenkins
2 访问: http://172.25.200.2:8080
3 使用初始密码登录:cat /var/lib/jenkins/secrets/initialAdminPassword
4 更新插件源:
# vim /var/lib/jenkins/hudson.model.UpdateCenter.xml
<?xml version='1.1' encoding='UTF-8'?>
<sites>
<site>
<id>default</id>
<url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url>
</site>
# cd /var/lib/jenkins/updates
# sed -i.bak 's/https:\/\/updates.jenkins-io\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json
# sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json
# systemctl restart jenkins
5、gitlab结合jenkins使用
5.1 更新仓库内容
上传一个index.html到gitlab
5.2 手动设置触发jenkins
新建一个项目:
[root@git-2 ~]# yum install -y git
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210312170139655.png?x-oss-process=image/w
atermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTE5MTgxMw==,size_16,color_FFFFFF,t_70)
5.3 设置gitlab自动触发jenkins(添加gitlab插件)
进入gitlab仓库设置
测试成功: