01-DevOps代码上线-git入门及gitlab远程仓库

这篇具有很好参考价值的文章主要介绍了01-DevOps代码上线-git入门及gitlab远程仓库。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、准备学习环境

10.0.0.71-gitlab            2c2g-20GB

10.0.0.72-jenkins         2c2g-20GB

10.0.0.73-sonarqube   1c1g-20GB

10.0.0.74-nexus          1c1g-20GB

10.0.0.75-dm               1c1g-20GB   (模拟写代码服务器)

        在centos系统中,本身就有git,如果没有yum安装一下git

[root@gitlab ~]# git --version
git version 1.8.3.1

二、git的使用

1,模拟一个代码目录

[root@gitlab ~]# mkdir -pv /xinjizhiwa/git_student 
[root@gitlab ~]# cd /xinjizhiwa/git_student

2,对代码目录进行git初始化

        你想要使用git,就需要先有一个git仓库,用来存放代码,所以,需要初始化出一个git仓库,初始化之后,该目录才成为【git本地仓库】

· 配置git本地仓库

用户名、用户邮箱、代码状态颜色开启

[root@gitlab git_student]# git config --global user.name 'xinjizhiwa'
[root@gitlab git_student]# git config --global user.email '626080079@qq.com'
[root@gitlab git_student]# git config --global color.ui true

· 查看git仓库配置信息

[root@gitlab git_student]# git config --list

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

· 初始化git本地仓库

[root@gitlab git_student]# git init

查看本地隐藏目录,有了【.git】就证明初始化成功了!~

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

至此,初始化git本地仓库,就完成了!~

3,代码的上线流程

        本地仓库的代码,有三种状态;

        只有提交到【本地仓库】的代码;才能够被推送到【远程仓库】;

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

· 模拟写一个代码

[root@gitlab git_student]# echo 'xinjizhiwa-v1.0' > xinjizhwa.txt

· 查看此时仓库的状态

        会看到一个【红色】的我们写的代码文件,证明是“草稿阶段”的代码;

[root@gitlab git_student]# git status

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

· 将代码提交到暂存区

[root@gitlab git_student]# git add .

再次查看代码状态,发现“它绿了”,就证明该代码,已经被提交到了【暂存区】;

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

· 将代码提交到本地仓库

        将暂存区的代码,提交到【本地仓库】,同时写个备注信息“v1.0”

[root@gitlab git_student]# git commit -m 'v1.0'

再次查看git仓库状态,什么都没有了~就证明,我们提交代码到【本地仓库】成功了;

[root@gitlab git_student]# git status

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

此时,代码提交到本地仓库,就完成了;

4,代码回滚

        在正常的工作当中,我们有一种极端情况,就是,代码写错了,但是,不小心还提交到了代码本地仓库,怎么办呐?这就涉及到了我们接下来的知识点,代码回滚;

· 查看下本地的代码文件

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

· 再重新编辑代码文件

追加一段代码到代码文件中,模拟,代码新版本;

[root@gitlab git_student]# echo 'xinjizhiwa-v2.0' >> xinjizhwa.txt

· 查看仓库状态

[root@gitlab git_student]# git status

发现代码文件的状态,又红了!~说明代码有修改,并还是草稿阶段;

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

· 将代码提交到本地仓库

[root@gitlab git_student]# git add .
[root@gitlab git_student]# git commit -m 'v2.0'

· 【重点】查看本地代码的版本

就是查看我们一共有多少个版本的代码;

[root@gitlab git_student]# git reflog

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

拓展:其实【git  reflog】是简写版本信息,想要显示全称,直接使用【git  log】

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

· 查看此时的代码

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

·【重点】回滚到指定版本

目前代码有两个版本,v1.0和v2.0;我们将代码回溯到v1.0;

[root@gitlab git_student]# git reset --hard 716ea3c

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

· 验证查看代码信息

        发现代码信息,内容中,回到了1.0的状态;

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

此时,在查看版本,发现,版本成了三个,有两个是用了一个id号,就证明,我们的过程是回溯的;

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

至此,我们的本地仓库的代码回滚,就学习完毕了;

5,git本地仓库分支branch

        由于开发一个项目,并不是一个人来完成的,需要研发团队的配合,于是,就有了“分支”的概念,用于院队研发协作使用;

        一般情况下,研发阶段端的代码,同属于一个分支,当项目开发结束后,会提交为一个master分支,作为已完成的项目提交。

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

· 查看当前代码的分支

[root@gitlab git_student]# git branch

可以看到,git仓库默认将代码都在master分支上;【*】代表当前所在的分支;

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

· 创建一个分支

创建一个叫xinjizhiwa的分支;

[root@gitlab git_student]# git branch xinjizhiwa

再次查看分支

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

· 切换当前分支

[root@gitlab git_student]# git checkout xinjizhiwa

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

· 在新的分支下修改代码

[root@gitlab git_student]# echo 'xinjizhiwa-v3.0' >> xinjizhwa.txt

提交代码到本地仓库

[root@gitlab git_student]# git add .
[root@gitlab git_student]# git commit -m 'v3.0'
[root@gitlab git_student]# cat xinjizhwa.txt 
xinjizhiwa-v1.0
xinjizhiwa-v3.0

· 切换回master查看代码

        你会发现,两个分支中的代码,是不一样的;

[root@gitlab git_student]# git checkout master

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

· 将分支代码合并

        就是将xinjizhiwa分支上的代码,合并到当前master分支上;

[root@gitlab git_student]# git merge xinjizhiwa

此时查看代码,master分支也是最新的代码了;

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

至此,git本地仓库的分支,就学习完毕了;

三、自建远程仓库gitlab

1,安装部署gitlab远程仓库

· 下载gitlab软件包

本次学习,为了大家方便,给大家准备了软件包在百度云盘;

链接:https://pan.baidu.com/s/1PM_QIkTaBGFUPRy0Ybw45Q?pwd=6vc2 
提取码:6vc2

· 上传安转软件包

[root@gitlab ~]# rz -E
[root@gitlab ~]# yum -y localinstall gitlab-ce-15.9.3-ce.0.el7.x86_64.rpm

· 修改gitlab的配置文件

[root@gitlab ~]# vim /etc/gitlab/gitlab.rb 
external_url 'http://gitlab.xinjizhiwa.com'
gitlab_rails['smtp_enable'] = false
gitlab_rails['registry_enabled'] = false
registry['enable'] = false
prometheus['enable'] = false
alertmanager['enable'] = false
node_exporter['enable'] = false
redis_exporter['enable'] = false
postgres_exporter['enable'] = false
gitlab_exporter['enable'] = false
prometheus_monitoring['enable'] = false

· 重启gitlab

[root@gitlab ~]# gitlab-ctl reconfigure

· 查看gitlab状态

[root@gitlab ~]# gitlab-ctl status | column -t

拓展:column  -t  表示列对齐;

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

2,gitlab浏览器页面操作

· 浏览器访问

注意,先本地hosts解析;

gitlab.xinjizhiwa.com

账号:root

密码:

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

查看密码

[root@gitlab ~]# cat /etc/gitlab/initial_root_password

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

· 汉化页面

【点击头像】-【preferences】

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

【Localization】-【langusge】-【chinsese】-【save change】-【刷新页面】

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

汉化成功

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

· 修改gitlab的密码

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

3,正式使用gitlab

· 创建项目

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

选择创建空白项目

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

· 查看项目列表

【点击logo】-【项目】就可以看到刚刚创建的项目了;

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

4,本地仓库连接远程仓库gitlab

· 生成linux本地秘钥

[root@gitlab ~]# ssh-keygen -t rsa -C 626080079@qq.com

#一路回车

· 复制本地秘钥-公钥

[root@gitlab ~]# cat /root/.ssh/id_rsa.pub

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

· 粘贴公钥到gitlab

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

· 本地添加远程仓库

[root@gitlab git_student]# git remote add origin git@gitlab.xinjizhiwa.com:gitlab-instance-ffdef71f/xinjizhiwa-web.git

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

· 查看本地的远程仓库列表

[root@gitlab git_student]# git remote -v

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

推送前,虚拟机也需要本地解析hosts,不然识别不了假域名

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

· 推送代码到远程仓库

推送master分支到远程仓库;

[root@gitlab git_student]# git push -u origin "master"

· 页面查看是否有这个分支和代码

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

5,git的标签

· 给当前分支创建标签

[root@gitlab git_student]# git tag -a "v1.0" -m "v1.0"

· 推送标签代码到远程仓库

[root@gitlab git_student]# git push -u origin --tag v1.0

6,gitlab的用户管理

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

        为了对企业当中的分属不同部门,不同人员的操作权限,gitlab给出了用户和用户组的功能。

· 创建用户

【点击目录】-【管理员】-【用户】

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

【点击新用户】

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

编辑新用户信息

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

【点击创建】

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

点击【编辑】

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

设置密码

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

· 创建用户组绑定用户

【目录】-【管理员】-【群组】-【新建群组】

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

设置名称-【保存】

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

【管理权限】

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

【邀请用户】

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

· 创建一个新项目

新建项目,绑定群组

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

· 新用户的主机免秘钥登录gitlab

生成秘钥

[root@dm dev]# ssh-keygen -t rsa -C xinjizhiwa@qq.com

复制秘钥公钥

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

开发新用户的集群,ssh免秘钥登录gitlab

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

· 新用户的主机本地解析一下假域名

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

· root用户主机推送代码到新项目

root用户添加项目到本地git

[root@gitlab git_student]# git remote  add  origin02 git@gitlab.xinjizhiwa.com:xinjizhiwa/xinjizhiwa-dev.git

root推送代码到新仓库

[root@gitlab git_student]# git push -u origin02 "master"

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

· 开发用户拉取gitlab仓库的项目代码

[root@dm dev]# git config --global user.name 'xinjizhiwa-dev'
[root@dm dev]# git config --global user.email 'xinjizhiwa@qq.com'
[root@dm dev]# git config --global color.ui true
[root@dm dev]# git config --list
user.name=xinjizhiwa-dev
user.email=xinjizhiwa@qq.com
color.ui=true

拉取仓库代码到本地

[root@dm dev]# git clone git@gitlab.xinjizhiwa.com:xinjizhiwa/xinjizhiwa-dev.git

进入代码目录

[root@dm dev]# cd xinjizhiwa-dev/

· 子账号模拟修改代码

[root@dm xinjizhiwa-dev]# echo "xinjizhiwa-v4.0" >> xinjizhwa.txt

提交修改好的代码到本地仓库

[root@dm xinjizhiwa-dev]# git add .
[root@dm xinjizhiwa-dev]# git commit  -m "v4.0" 

合并默认的master代码到xinjizhiwa分支

[root@dm xinjizhiwa-dev]# git branch xinjizhiwa
[root@dm xinjizhiwa-dev]# git branch 
* master
  xinjizhiwa
[root@dm xinjizhiwa-dev]# git checkout xinjizhiwa 
[root@dm xinjizhiwa-dev]# git merge master 
[root@dm xinjizhiwa-dev]# cat xinjizhwa.txt 
xinjizhiwa-v1.0
xinjizhiwa-v3.0
xinjizhiwa-v4.0

· 子账号推送代码到项目远程仓库

[root@dm xinjizhiwa-dev]# git push -u origin "xinjizhiwa"

· 登录新用户请求合并

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

· 再登录root合并代码

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

合并过后,你会发现,就剩下master了。合并成功

01-DevOps代码上线-git入门及gitlab远程仓库,devops代码上线,devops,git,运维

那么至此,项目组(群组),合并提交代码到远程仓库,管理员审核代码并合并成功,整套流程学习完毕了。文章来源地址https://www.toymoban.com/news/detail-842499.html

到了这里,关于01-DevOps代码上线-git入门及gitlab远程仓库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • DevOps极速入门丨Gitlab丨Jenkins丨harbor丨CICD丨自动化丨运维开发

    一、DevOps介绍 软件开发最开始是由两个团队组成: 开发计划由开发团队从头开始设计和整体系统的构建。需要系统不停的迭代更新。 运维团队将开发团队的Code进行测试后部署上线。希望系统稳定安全运行。 这看似两个目标不同的团队需要协同完成一个软件的开发。 在开发

    2023年04月18日
    浏览(50)
  • Devops-01-devops 是什么?

    Devops-01-devops 是什么? Devops-02-Jpom 简而轻的低侵入式在线构建、自动部署、日常运维、项目监控软件 代码质量管理 SonarQube-01-入门介绍 项目管理平台-01-jira 入门介绍 缺陷跟踪管理系统,为针对缺陷管理、任务追踪和项目管理的商业性应用软件 项目管理平台-01-Phabricator 入门介

    2024年03月19日
    浏览(32)
  • 优维DevOps全新产品——双态部署重磅上线

    优维又一全新产品上线啦! 最近,优维召开了一场发布会,宣布 「DevOps全新产品——双态部署」重磅上线 。发布会现场,重新审视了DevOps市场现状,深度剖析了行业面临的挑战与机遇,同时也深入浅出的揭晓了“双态部署”是如何应对当下的种种挑战的。 下面就跟着鹿小

    2024年02月13日
    浏览(37)
  • DevOps-GitHub/GitLab

    GitHub是一个开源代码托管平台。基于web的Git仓库,提供共有仓库和私有仓库(私有仓库收费)。 GitLab可以创建免费私有仓库。 为了快速操作,这里对创建仓库以及注册不做说明。 首先再GitHub上创建一个远程仓库 github_test 使用GitHub远程仓库 在github上获取克隆地址(注意,这个

    2024年02月15日
    浏览(39)
  • Git初始化连接Gitlab远程仓库

    ​ 新环境下git配置,除了初始化和name、email设置,还需在远程仓库Gitlab中配置个人ssh key,才能clone远程仓库代码到本地,完成关联。 此时,.ssh目录下会有一个公钥(id_rsa.pub)一个私钥(id_rsa),将公钥的内容放到GitHub/GitLab等用户设置的SSH keys中即可。 之后本地就关联了远程仓库

    2024年02月11日
    浏览(51)
  • DevOps搭建(四)-GitLab安装细步骤

    在这里我们用docker安装 进入该目录 输入以下内容保存 查看启动日志 稍等片刻,如果没看到错误日志,证明已经正常启动。 开放GitLab对应的端口 重启防火墙 GitLab的默认登录账号为root,密码需要进入docker容器中获取。 6.1、获取root账号登录密码 进入gitlab容器: 获取密码 复制

    2024年02月04日
    浏览(29)
  • DevOps基础服务1——版本控制gitlab

    概念: 版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一。 常用版本控制工具:gitlab、subversion。 主要功能: 追踪文件的变更。可以追踪到什么人在什么时候更改了什么内容。每次文件发生改变,则文件

    2024年02月15日
    浏览(25)
  • 私有GitLab仓库 - 本地搭建GitLab私有代码仓库并随时远程访问

    GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。 Gitlab是被广泛使用的基于git的开源代码管理平台, 基于Ruby on Rails构建, 主要针对软件开发过程中产生的代码和文档进行管理, Gitlab主要针对group和project两个维度进行代码和

    2024年02月16日
    浏览(45)
  • DevOps系列文章之 GitLab CI/CD

    由于目前公司使用的gitlab,大部分项目使用的CICD是gitlab的CICD,少部分用的是jenkins,使用了gitlab-ci一段时间后感觉还不错,因此总结一下 介绍gitlab的CICD之前,可以先了解CICD是什么 我们的开发模式经历了如下的转变:瀑布模型-敏捷开发→DevOps(Development、Operations的组合词,是

    2024年01月22日
    浏览(42)
  • 私有GitLab仓库 - 本地搭建GitLab私有代码仓库并随时远程访问「内网穿透」

    转载自远控源码文章:Linux搭建GitLab私有仓库,并内网穿透实现公网访问 GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。 Gitlab是被广泛使用的基于git的开源代码管理平台, 基于Ruby on Rails构建, 主要针对软件开发过程中产

    2024年01月21日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包