网站开发者常见问题,六安网络推广公司,阿里指数官网入口,徐州数据网站建设介绍案例1#xff1a;项目环境准备
环境准备说明#xff1a;
本阶段共使用虚拟机6台#xff0c;操作系统使用RockyLinux8.6
环境准备要求#xff1a;
最小化安装即可配置好主机名和IP地址搭建好yum源关闭防火墙和SELinux!!!
项目主机列表
主机名IP地址规格角色服务Progra…案例1项目环境准备
环境准备说明
本阶段共使用虚拟机6台操作系统使用RockyLinux8.6
环境准备要求
最小化安装即可配置好主机名和IP地址搭建好yum源关闭防火墙和SELinux!!!
项目主机列表
主机名IP地址规格角色服务Programer192.168.88.10/242vCPUs1GiB20G程序员主机GitGitLab192.168.88.20/242vCPUs4GiB20G内部代码托管平台GitLabJenkins192.168.88.30/242vCPUs2GiB20G持续集成工具JenkinsServices192.168.88.50/242vCPUs4GiB20G应用服务器RabbitMQ MySQL Elasticsearch RedisBackend192.168.88.60/242vCPUs2GiB20G后端服务器HIS后端jar包Fontend192.168.88.70/242vCPUs1GiB20G前端服务器Nginx 环境准备结果
##再次强调所有主机需关闭防火墙和SELinux配置好yum源#搭建本地yum源[rootProgramer ~]# cat /etc/yum.repos.d/rocky.repo [BaseOS]nameRockyLinux_BaseOSenabledtruegpgcheckfalsebaseurlfile:///dvd/BaseOS[AppStream]nameRockyLinux_AppStreamenabledtruegpgcheckfalsebaseurlfile:///dvd/AppStream#关闭SELinux[rootProgramer ~]# vim /etc/sysconfig/selinux [rootProgramer ~]# sed -rn 7p /etc/sysconfig/selinux SELINUXdisabled#禁止firewalld服务开机自启动[rootProgramer ~]# systemctl disable firewalld.service[rootProgramer ~]# reboot#Programer主机准备[rootProgramer ~]# hostnameProgramer[rootProgramer ~]# ifconfig eth0eth0: flags4163UP,BROADCAST,RUNNING,MULTICAST mtu 1500inet 192.168.88.10 netmask 255.255.255.0 broadcast 192.168.88.255#GitLab主机准备[rootGitLab ~]# hostnameGitLab[rootGitLab ~]# ifconfig eth0eth0: flags4163UP,BROADCAST,RUNNING,MULTICAST mtu 1500inet 192.168.88.20 netmask 255.255.255.0 broadcast 192.168.88.255#Jenkins主机准备[rootJenkins ~]# hostnameJenkins[rootJenkins ~]# ifconfig eth0eth0: flags4163UP,BROADCAST,RUNNING,MULTICAST mtu 1500inet 192.168.88.30 netmask 255.255.255.0 broadcast 192.168.88.255#Services主机准备[rootServices ~]# hostnameServices[rootServices ~]# ifconfig eth0eth0: flags4163UP,BROADCAST,RUNNING,MULTICAST mtu 1500inet 192.168.88.50 netmask 255.255.255.0 broadcast 192.168.88.255#Backend主机准备[rootBackend ~]# hostnameBackend[rootBackend ~]# ifconfig eth0eth0: flags4163UP,BROADCAST,RUNNING,MULTICAST mtu 1500inet 192.168.88.60 netmask 255.255.255.0 broadcast 192.168.88.255#Fontend主机准备[rootFontend ~]# hostnameFontend[rootFontend ~]# ifconfig eth0eth0: flags4163UP,BROADCAST,RUNNING,MULTICAST mtu 1500inet 192.168.88.70 netmask 255.255.255.0 broadcast 192.168.88.255
案例2Git安装
Programer主机安装Git
#安装中文支持选做[rootProgramer ~]# echo $LANG #查看当前系统语言及编码en_US.UTF-8[rootProgramer ~]# yum -y install langpacks-zh_CN.noarch #安装中文支持[rootProgramer ~]# vim /etc/locale.conf #配置系统使用中文及编码[rootProgramer ~]# cat /etc/locale.conf LANGzh_CN.UTF-8[rootProgramer ~]# reboot #重启使语言配置生效[rootProgramer ~]# echo $LANG #确认使用中文编码zh_CN.UTF-8[rootProgramer ~]# #yum源中集成了Git软件包使用yum安装Git[rootProgramer ~]# yum clean all; yum repolist -v #插件yum源是否可用...Total packages: 8,265[rootProgramer ~]# yum -y install git #使用yum安装Git...Complete![rootProgramer ~]# git --version #查看Git版本git version 2.31.1[rootProgramer ~]# git --help #查看Git命令帮助信息
案例3Git版本库操作
回顾Git工作流程 Git基础配置
#Git基础配置# --local: 仓库级# --global: 全局级# --system: 系统级[rootProgramer ~]# git config --global user.name mark #设置用户名[rootProgramer ~]# git config --global user.email marktedu.cn #设置用户邮箱[rootProgramer ~]# git config --global init.defaultBranch master #设置版本库默认分支[rootProgramer ~]# git config --list #查看已有Git配置user.namemarkuser.emailmarktedu.cninit.defaultbranchmaster[rootProgramer ~]# cat ~/.gitconfig #查看Git配置持久化文件[user]name markemail marktedu.cn[init]defaultBranch master[rootProgramer ~]#
Git创建版本库
Git初始化空版本库
#使用Git命令初始化空版本库[rootProgramer ~]# ls[rootProgramer ~]# git init myproject #初始化空版本库已初始化空的 Git 仓库于 /root/myproject/.git/[rootProgramer ~]# ls #确认版本库已创建myproject[rootProgramer ~]# ls -a myproject/ . .. .git[rootProgramer ~]# ls -a myproject/.git/. .. branches config description HEAD hooks info objects refs[rootProgramer ~]#
将已有目录制作成版本库
#将已有目录制作成Git版本库[rootProgramer ~]# mkdir mytest #创建空目录[rootProgramer ~]# ls -a mytest/ . ..[rootProgramer ~]# cd mytest/[rootProgramer mytest]# git init #将已有目录制作成Git版本库已初始化空的 Git 仓库于 /root/mytest/.git/[rootProgramer mytest]# ls -a. .. .git[rootProgramer mytest]# ls -a .git/. .. branches config description HEAD hooks info objects refs[rootProgramer mytest]# cd[rootProgramer ~]#
Git版本库操作
#熟悉Git基础命令使用[rootProgramer ~]# cd myproject/[rootProgramer myproject]# git status #查看Git本地仓库状态位于分支 master尚无提交无文件要提交创建/拷贝文件并使用 git add 建立跟踪[rootProgramer myproject]# echo Learning Git readme.md #创建readme文件[rootProgramer myproject]# git status #查看Git本地仓库状态位于分支 master尚无提交未跟踪的文件:使用 git add 文件... 以包含要提交的内容readme.md提交为空但是存在尚未跟踪的文件使用 git add 建立跟踪[rootProgramer myproject]# git add readme.md #将文件信息添加到暂存区[rootProgramer myproject]# git status #查看Git本地仓库状态位于分支 master尚无提交要提交的变更使用 git rm --cached 文件... 以取消暂存新文件 readme.md[rootProgramer myproject]# git commit -m add readme #将暂存区文件提交到本地仓库[master根提交 09d8603] add readme1 file changed, 1 insertion()create mode 100644 readme.md[rootProgramer myproject]# git status位于分支 master无文件要提交干净的工作区[rootProgramer myproject]#
Git版本库查询
#查看本地Git版本库信息[rootProgramer myproject]# git log #本地版本库提交记录详细commit 09d8603547b7f7c6cf5b2850dd241d4b8b799b74 (HEAD - master)Author: mark marktedu.cnDate: Wed Feb 22 15:00:46 2023 0800add readme[rootProgramer myproject]# git log --prettyoneline #本地版本库提交记录简略09d8603547b7f7c6cf5b2850dd241d4b8b799b74 (HEAD - master) add readme[rootProgramer myproject]# git log --oneline #本地版本库提交记录极简09d8603 (HEAD - master) add readme[rootProgramer myproject]#
Git练习(生成多个版本)
#数量掌握Git本地版本库操作[rootProgramer ~]# cd myproject/[rootProgramer myproject]# echo 123 test.txt #新建test.txt文件[rootProgramer myproject]# git add test.txt #将test.txt添加到暂存区[rootProgramer myproject]# git commit -m add test.txt #生成新版本[master 27466f7] add test.txt1 file changed, 1 insertion()create mode 100644 test.txt[rootProgramer myproject]# echo 456 test.txt #修改test.txt文件[rootProgramer myproject]# git add . #将修改文件添加到暂存区[rootProgramer myproject]# git commit -m modify test.txt #生成新版本[master 58cdf79] modify test.txt1 file changed, 1 insertion(), 1 deletion(-)[rootProgramer myproject]# echo 789 test.txt #修改test.txt文件[rootProgramer myproject]# git add ./ #将修改文件添加到暂存区[rootProgramer myproject]# git commit -m done test.txt #生成新版本[master 0f44bf0] done test.txt1 file changed, 1 insertion(), 1 deletion(-)[rootProgramer myproject]# git log --prettyoneline #查看本地提交记录简略0f44bf04834eac643a0d56901039cec73128d3cc (HEAD - master) done test.txt58cdf7905a95a956fc65da264aab827fc7290dbf modify test.txt27466f79df8e0cbfd3f8f2349143e054db8ac693 add test.txt09d8603547b7f7c6cf5b2850dd241d4b8b799b74 add readme[rootProgramer myproject]# git log --oneline #查看本地提交记录极简0f44bf0 (HEAD - master) done test.txt58cdf79 modify test.txt27466f7 add test.txt09d8603 add readme[rootProgramer myproject]#
案例4Git指针操作
查看Git指针信息
#使用git log命令查看HEAD指针[rootProgramer ~]# cd myproject/[rootProgramer myproject]# git log --prettyoneline #查看Git指针0f44bf04834eac643a0d56901039cec73128d3cc (HEAD - master) done test.txt58cdf7905a95a956fc65da264aab827fc7290dbf modify test.txt27466f79df8e0cbfd3f8f2349143e054db8ac693 add test.txt09d8603547b7f7c6cf5b2850dd241d4b8b799b74 add readme[rootProgramer myproject]# cat test.txt #查看文件内容789[rootProgramer myproject]#
利用指针实现Git版本还原
#reset子命令用于版本还原#--soft缓存区和工作目录不受影响。reset后分支和HEAD指针移动到指定的commit,代码文件内容和reset之前一样修改部分已加入到暂存区。通常用于重新提交。#--mixed默认工作目录不受影响。reset后分支和HEAD指针移动到指定位置代码文件内容和reset之前一样修改部分未加入到暂存区。需要重新执行git add#--hard工作目录缓存区均受影响。reset后分支和HEAD指针移动到指定commit,代码文件内容回退到指定commit工作空间为clean状态。通常用于获取指定版本的代码文件[rootProgramer myproject]# git reset --hard 58cdf7905a #还原到指定版本HEAD 现在位于 58cdf79 modify test.txt[rootProgramer myproject]# git log --oneline #确认HEAD指针移动58cdf79 (HEAD - master) modify test.txt27466f7 add test.txt09d8603 add readme[rootProgramer myproject]# cat test.txt #查看文件内容456[rootProgramer myproject]# #reflog子命令用于获取HEAD指针移动轨迹[rootProgramer myproject]# git reflog 58cdf79 (HEAD - master) HEAD{0}: reset: moving to 58cdf790f44bf0 HEAD{1}: commit: done test.txt58cdf79 (HEAD - master) HEAD{2}: commit: modify test.txt27466f7 HEAD{3}: commit: add test.txt09d8603 HEAD{4}: commit (initial): add readme[rootProgramer myproject]# git reset --hard 0f44bf0HEAD 现在位于 0f44bf0 done test.txt[rootProgramer myproject]# git log --oneline0f44bf0 (HEAD - master) done test.txt58cdf79 modify test.txt27466f7 add test.txt09d8603 add readme[rootProgramer myproject]# git reflog 0f44bf0 (HEAD - master) HEAD{0}: reset: moving to 0f44bf058cdf79 HEAD{1}: reset: moving to 58cdf790f44bf0 (HEAD - master) HEAD{2}: commit: done test.txt58cdf79 HEAD{3}: commit: modify test.txt27466f7 HEAD{4}: commit: add test.txt09d8603 HEAD{5}: commit (initial): add readme[rootProgramer myproject]# cat test.txt 789
案例5Git分支操作
Git分支管理
#查看当前分支信息branch子命令[rootProgramer ~]# cd myproject/[rootProgramer myproject]# git status #查看本地Git仓库信息位于分支 master无文件要提交干净的工作区[rootProgramer myproject]# git branch -v #查看分支信息* master 0f44bf0 done test.txt[rootProgramer myproject]# #创建分支[rootProgramer myproject]# git branch hotfix #创建hotfix分支[rootProgramer myproject]# git branch feature #创建feature分支[rootProgramer myproject]# git branch -v #查看分支信息feature 0f44bf0 done test.txthotfix 0f44bf0 done test.txt* master 0f44bf0 done test.txt[rootProgramer myproject]# #切换分支checkout子命令[rootProgramer myproject]# git branch -v #查看分支信息feature 0f44bf0 done test.txthotfix 0f44bf0 done test.txt* master 0f44bf0 done test.txt[rootProgramer myproject]# git checkout hotfix #切换分支切换到分支 hotfix[rootProgramer myproject]# git branch -v #查看分支信息feature 0f44bf0 done test.txt* hotfix 0f44bf0 done test.txtmaster 0f44bf0 done test.txt[rootProgramer myproject]# git checkout feature #切换分支切换到分支 feature[rootProgramer myproject]# git branch -v #查看分支信息* feature 0f44bf0 done test.txthotfix 0f44bf0 done test.txtmaster 0f44bf0 done test.txt[rootProgramer myproject]# #删除分支[rootProgramer myproject]# git branch develop #创建develop分支[rootProgramer myproject]# git branch -vdevelop 0f44bf0 done test.txt* feature 0f44bf0 done test.txthotfix 0f44bf0 done test.txtmaster 0f44bf0 done test.txt[rootProgramer myproject]# git branch -d develop #删除develop分支已删除分支 develop曾为 0f44bf0。[rootProgramer myproject]#
Git合并分支
#无冲突分支合并[rootProgramer ~]# cd myproject/[rootProgramer myproject]# git checkout hotfix #切换到hotfix分支切换到分支 hotfix[rootProgramer myproject]# echo haha haha.txt #创建haha文件[rootProgramer myproject]# git add ./ #添加haha到暂存区[rootProgramer myproject]# git commit -m add haha.txt #生成新版本[hotfix 108cf46] add haha.txt1 file changed, 1 insertion()create mode 100644 haha.txt[rootProgramer myproject]# lshaha.txt readme.md test.txt[rootProgramer myproject]# cat haha.txt haha[rootProgramer myproject]# git checkout master #切换到master分支切换到分支 master[rootProgramer myproject]# echo xixi xixi.txt #创建xixi文件[rootProgramer myproject]# git add ./ #添加xixi到暂存区[rootProgramer myproject]# git commit -m add xixi.txt #生成新版本[master 32f0842] add xixi.txt1 file changed, 1 insertion()create mode 100644 xixi.txt[rootProgramer myproject]# lsreadme.md test.txt xixi.txt[rootProgramer myproject]# git branch -v #切换到master分支feature 0f44bf0 done test.txthotfix 108cf46 add haha.txt* master 32f0842 add xixi.txt[rootProgramer myproject]# git merge hotfix #合并hotfix分支到master分支Merge made by the recursive strategy.haha.txt | 1 1 file changed, 1 insertion()create mode 100644 haha.txt[rootProgramer myproject]# ls #确认文件haha.txt readme.md test.txt xixi.txt[rootProgramer myproject]# cat haha.txt haha[rootProgramer myproject]# cat xixi.txt xixi[rootProgramer myproject]# #有冲突分支合并修改不同分支中相同文件的相同行[rootProgramer myproject]# git branch -v #查看分支feature 0f44bf0 done test.txthotfix 108cf46 add haha.txt* master b4bea28 Merge branch hotfix 合并hotfix分支[rootProgramer myproject]# git checkout hotfix #切换到hotfix分支切换到分支 hotfix[rootProgramer myproject]# echo hahaha a.txt #创建a.txt文件[rootProgramer myproject]# git add . #添加到暂存区[rootProgramer myproject]# git commit -m hotfix #生成新版本[hotfix af8a04b] hotfix1 file changed, 1 insertion()create mode 100644 a.txt[rootProgramer myproject]# git checkout master #切换到master分支切换到分支 master[rootProgramer myproject]# echo xixixi a.txt #创建a.txt [rootProgramer myproject]# git add . #添加到暂存区[rootProgramer myproject]# git commit -m master #生成新版本[master f556200] master1 file changed, 1 insertion()create mode 100644 a.txt[rootProgramer myproject]# git merge hotfix #合并hotfix分支到master分支冲突add/add合并冲突于 a.txt自动合并 a.txt自动合并失败修正冲突然后提交修正的结果。 #文件冲突合并失败手工解决[rootProgramer myproject]# cat a.txt HEADxixixihahaha hotfix[rootProgramer myproject]# vim a.txt #手工解决冲突[rootProgramer myproject]# cat a.txt xixixihahaha[rootProgramer myproject]# git add ./ #添加到暂存区[rootProgramer myproject]# git commit -m resolv conflict #生成新版本解决冲突[master 2a6f272] resolv conflict[rootProgramer myproject]#
案例六Git标签操作
Git标签管理
#使用tag子命令管理标签[rootProgramer ~]# cd myproject/[rootProgramer myproject]# git tag #查看已有标签[rootProgramer myproject]# git tag v1 #创建v1标签[rootProgramer myproject]# git tag #查看已有标签v1[rootProgramer myproject]# git tag v2 #创建v2标签[rootProgramer myproject]# git tag #查看已有标签v1v2[rootProgramer myproject]# git tag -d v2 #删除v2标签已删除标签 v2曾为 2a6f272[rootProgramer myproject]#