关于git、gitlab、jenkins你知道多少?(一)

简介: 关于git、gitlab、jenkins你知道多少?

git简述

1. DevOps

       Development和Operations的组合。

       可以把DevOps看作开发(软件工程)、技术运营和质量保障(QA)三者的交集。

       减少变更范围。

       加强发布协调。

       自动化。

       更小、更频繁的变更──意味着更少的风险。

       让开发人员更多地控制生产环境。

       更多地以应用程序为中心来理解基础设施。

       定义简洁明了的流程。

       尽可能地自动化。

       促成开发与运营的协作。

2. git

       分布式版本控制系统,是当前最流行的版本控制软件。

3. 公开的代码仓库

       github.com 国外

       gitee.com 国内--码云

4. 版本控制系统分类

(1)集中式:代码集中存储在中央服务器,开发者的客户端只有部分自己的代码,假如中央服务器出问题,会出现数据丢失。

传统的版本控制系统:CVS SVN

(2)分布式:每台服务器都拥有所有代码,任意一台服务器崩溃,从其他服务器复制过来就好。

git基本命令

1. 声明自己的名字和邮箱

1. [root@git ~]# git config --global user.name root
2. 
3. [root@git ~]# git config --global user.email root@qq.com

2. 创建版本库目录

1. [root@git ~]# mkdir /data
2. 
3. [root@git ~]# cd /data
4. 
5. [root@git data]# git init //初始化当前目录为版本库

       初始化空的 Git 版本库于 /data/.git/

       自动生成.git目录:

branches                    #分支目录

config                         #定义目录特有的配置选项

description                 #仅供git web使用

HEAD                        #指定当前的分支

hooks                        #git钩子文件

info                            #包含一个全局排除文件(exclude)

objects                       #存放所有的数据内容

refs                            #指针文件

index                          #暂存区文件

3.上传代码

       data目录下创建一个文件模拟代码。

1. [root@git data]# cat readme.txt  //创建文件名(任意)
2. //下面填写一些内容模拟代码
3. aaaaaaaaaa
4. bbbbbbbbbb
5. ccccccc

(1)上传到暂存区

1. git add readme.txt             #单个文件上传
2. 
3. git add .                      #当前目录所有文件上传
4. 
5. git status                     #查看暂存区
6. 
7. git rm --cached readme.txt     #把文件从暂存区撤销
8. 
9. git checkout -- readme.txt     #已经提交到暂存区,之后再修改内容出错,想回到上次暂存区版本

(2)上传到版本库

1. [root@git data]# git  commit -m "readme V1" //双引号中的内容为描述信息。
2. 
3. [master(根提交) 3baa1ce] readme V1
4. 
5.  1 file changed, 3 insertions(+)
6. 
7.  create mode 100644 readme.txt

(3)修改readme.txt内容,使用diff命令查看异同,修改readme.txt文件加点内容,可以清楚地看到添加或减少过。

[root@git data]# git diff readme.txt

 

(4)查看文件版本状态,比对工作区和版本库的异同,并提示

(5)查看历史记录

       查看已添加过的代码版本及详情,使用git log命令。

       摘要重要信息,只显示版本号及描述使用git log --oneline命令。

(6)版本回滚

       注意:版本回滚前,尽量备份一下当前文件。下面两个方法都可以使用。

       ①回滚到上个版本,HEAD^^上上版本,HEAD~10回滚到上10个版本。

1. [root@git data]# git reset --hard HEAD^
2.  HEAD 现在位于 3baa1ce readme V1

       下图可以看到已经回到V1版本了,但是此功能要慎重使用,后面版本将删除。

       ②此功能相对上一个方法精确,直接回滚到该版本,需要使用git log --oneline查看版本号。通告git log 的版本号码回滚,仅写前7位就可以。

1. [root@git data]# git reset --hard 3baa1ce
2. HEAD 现在位于 3baa1ce readme V1

(7)回滚动作命令日志

[root@git data]# git reflog

(8)git config 常用配置选项

1. git config -e 编辑配置文件
2. git config --local -e 编辑仓库级别配置文件
3. git config --global -e 编辑用户级别配置文件
4. git config --system -e 编辑系统级别配置文件
5. git config 添加配置项目
6. git config --global user.email “you@example.com”
7. git config --global user.name “Your Name”
8. git config 添加别名
9. git config --global -e
10. 添加:
11. [alias]
12.         st = status
13.         co = checkout
14.         br = branch
15.         mg = merge
16.         ci = commit
17.         md = commit --amend
18.         dt = difftool
19.         mt = mergetool
20.         last = log -1 HEAD
21.         cf = config
22.         line = log --oneline

分支

       区别于主代码库,创建出来用于新增功能或模块的分支库,仅用户自己有权访问,修改后合并,一般用于更新版本或添加补丁。

1. 查看分支

1. [root@git data]# git branch //默认master
2. 
3. * master

2. 创建分支

[root@git data]# git branch ops //创建ops分支

         切换到ops分支

1. [root@git data]# git checkout ops
2. 
3. 切换到分支 'ops'

       创建并切换到新的分支

1. [root@git data]# git checkout -b dev
2. 
3. 切换到一个新分支 'dev'

3. 切换到主分支

1. [root@git data]# git checkout master
2. 
3. 切换到分支 'master'

4. 合并分支

(1)先切回master

1. [root@git data]# git checkout master
2. 
3. 已经位于 'master'

(2)合并分支

[root@git data]# git merge dev

5. 删除分支

[root@git data]# git branch -D dev

6. 分支合并冲突

       制造冲突:先在分支修改文件,提交;然后回到master,再修改文件相应内容,提交;最后,合并分支,出现冲突。

       删除冲突文件内容:带>>>>>>>>>    ================= 行,保留想要的内容,再commit。

注:为了避免合并冲突,尽量不要在master分支修改代码

Gitlab

       Gitlab 是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的 Git 项目仓库,可通过

       Web 界面进行访问公开的或者私人的项目

官方网站:https://about.gitlab.com

安装Gitlab

1. 安装前提软件

[root@gitlab ~]# yum -y install curl policycoreutils openssh-server openssh-clients postfix

2. 下载清华gitlab安装包

https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.2.2-ce.0.el7.x86_64.rpm

3. 复制rpm包到虚拟机,yum安装

       本次案例中使用rpm安装了。

[root@git ~]# rpm -ivh /media/gitlab-ce-10.2.2-ce.0.el7.x86_64.rpm

4. 修改配置文件,指定ip地址

1. [root@git ~]# vim /etc/gitlab/gitlab.rb
2. 
3. external_url 'http://192.168.1.4' //指向gitlab主机

5. 配置启动 gitlab

[root@git ~]# gitlab-ctl reconfigure

         查看状态

[root@git ~]#  gitlab-ctl status

6. gitlab服务管理命令(开启start/关闭stop/重启restart)

[root@git ~]# gitlab-ctl start

7. 登录gitlab

       访问web页面http://192.168.1.4

       输入两次新密码(8位)后进入登录页面。

管理员:root

密码:初始配置新密码,最少8位。

部署Gitlab

1. 取消注册功能

       防止他人随意注册用户,登录后取消注册功能。

       登录gitlab→admin area(顶部菜单栏小扳手图标)→左侧面板settings→Sign-up Restrictions→去除勾选sign-up enabled→下拉选最下面save保存。

2. 修改登录欢迎界面

       登录gitlab→admin area→Appearance→填写管理员联系方式和logo→save。

3. 项目创建流程

(1)创建group

       登录gitlab→admin area→new group→填写组名→下拉界面create group。

(2)创建用户

       登录gitlab→admin area→new user→添加用户名、邮箱→下拉界面create user→右上角点edit→修改密码。


相关文章
|
1天前
|
Devops Shell 网络安全
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
|
5月前
|
Linux 网络安全 开发工具
码农日常生活之Git & Gitlab & Gitk
本文是关于Git和GitLab的配置使用教程,包括基础设置、日常命令操作以及图形工具的使用。
62 2
|
26天前
|
移动开发 jenkins 持续交付
jenkins配置git
通过上述步骤,您可以在 Jenkins 中成功配置 Git,从而实现自动拉取代码并进行构建和部署。这些配置不仅提高了开发效率,还保证了代码的连续集成和交付。确保每一步配置正确,以避免在实际使用中遇到问题。
48 1
|
3月前
|
jenkins Shell 持续交付
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(二)
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(二)
85 0
|
3月前
|
jenkins Shell 持续交付
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(一)
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(一)
272 0
|
5月前
|
数据可视化 jenkins 测试技术
GitLab CI/CD 和 Jenkins对比
8月更文挑战第25天
531 5
|
5月前
|
jenkins 持续交付 开发工具
"引爆效率革命!Docker+Jenkins+GIT+Tomcat:解锁持续集成魔法,一键部署Java Web应用的梦幻之旅!"
【8月更文挑战第9天】随着软件开发复杂度的增加,自动化变得至关重要。本文通过实例展示如何结合Docker、Jenkins、Git与Tomcat建立高效的持续集成(CI)流程。Docker确保应用环境一致性;Jenkins自动化处理构建、测试和部署;Git管理源代码版本;Tomcat部署Web应用。在Jenkins中配置Git插件并设置项目,集成Docker构建Tomcat应用镜像并运行容器。此外,通过自动化测试、代码质量检查、环境隔离和日志监控确保CI流程顺畅,从而显著提高开发效率和软件质量。
93 3
|
5月前
|
jenkins Devops Java
jenkins学习笔记之十:配置Gitlab提交流水线
jenkins学习笔记之十:配置Gitlab提交流水线
|
5月前
|
安全 jenkins 持续交付
jenkins学习笔记之八:jenkins认证集成gitlab
jenkins学习笔记之八:jenkins认证集成gitlab
|
5月前
|
存储 Ubuntu jenkins
CI/CD 工具比较:Jenkins、GitLab CI、Buildbot、Drone 和 Concourse
CI/CD 工具比较:Jenkins、GitLab CI、Buildbot、Drone 和 Concourse
248 0