linux的git版本管理工具、systemd unit

本文介绍了Linux环境下Git的基本操作,包括克隆、提交、推送等,以及Git分支的使用。同时,还讲解了如何制作nginx的RPM包和编写systemd Unit文件,为系统服务管理提供便利。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Git基本操作
1.clone克隆服务器仓库到本地
2.修改后add提交暂存区
3.commit提交git仓库
4.push提交远程服务器

1.部署Git服务器(192.168.2.100作为远程git服务器)
(1)YUM安装Git软件
# yum -y install git
(2)初始化一个空仓库。
# mkdir -p /var/lib/git
# git init /var/lib/git/project --bare 
# ls /var/lib/git/project
		config  description  HEAD  hooks  info  objects  refs  
2.客户端测试(192.168.2.200作为客户端主机)
(1)clone克隆服务器仓库到本地。
# yum -y install git
# git clone root@192.168.2.100:/var/lib/git/project 
# cd project
# ls
(2) 修改git配置
# git config --global user.email "you@example.com"
# git config --global user.name "Your Name"
# cat ~/.gitconfig 
[user]
email = you@example.com
name = Your Name
(3)本地工作区对数据进行增删改查(必须要先进入仓库再操作数据)。
 # echo "init date" > init.txt
 # mkdir demo
 # cp /etc/hosts demo
(4)查看仓库中数据的状态。
# git status
(5)将工作区的修改提交到暂存区。
# git add .
(6) 将暂存区修改提交到本地仓库
# git commit  -m  "注释,可以为任意字符"
# git status
(7)将本地仓库中的数据推送到远程服务器(web2将数据推送到web1)。
# git config --global push.default simple
# git push
# git status
(8)将服务器上的数据更新到本地(web1的数据更新到web2)。
# git pull

Git分支操作

常见的分支规范如下:

MASTER分支(MASTER是主分支,是代码的核心)。
DEVELOP分支(DEVELOP最新开发成果的分支)。
RELEASE分支(为发布新产品设置的分	支)。
HOTFIX分支(为了修复软件BUG缺陷的分支)。
FEATURE分支(为开发新功能设置的分支)。

Git服务器

Git支持很多服务器协议形式,不同协议的Git服务器,客户端就可以使用不同的形式访问服务器。创建的服务器协议有SSH协议、Git协议、HTTP协议。
1.SSH协议服务器(支持读写操作)
(1)创建基于密码验证的SSH协议服务器(web1主机操作)。
# git init --bare /var/lib/git/base_ssh
(2)客户端访问的方式(web2主机操作)。
# git clone root@192.168.2.100:/var/lib/git/base_ssh
# rm -rf base_ssh
(3)客户端生成SSH密钥,实现免密码登陆git服务器(web2主机操作)。
# ssh-keygen -f /root/.ssh/id_rsa -N ''
# ssh-copy-id  192.168.2.100
# git clone root@192.168.2.100:/var/git/base_ssh
# git push
2.Git协议服务器(只读操作的服务器)
(1)安装git-daemon软件包(web1主机操作)。
# yum -y install git-daemon
(2)创建版本库(web1主机操作)。
# git init --bare /var/lib/git/base_git
(3)修改配置文件,启动git服务(web1主机操作)
# cat /usr/lib/systemd/system/git@.service
仅查看即可
# systemctl  start  git.socket
#备注:默认git配置为只读服务器,如果需要读写,则需要修改git@.service配置文件,在git-daemon命令后面添加--enable=receive-pack参数即可。
#另外还需要注意仓库目录的权限问题。
(4)客户端访问方式(web2主机操作)
# git clone git://192.168.2.100/base_git
3.HTTP协议服务器(只读操作的服务器)
(1)安装gitweb、httpd软件包(web1主机操作)。
# yum -y install httpd gitweb
(2)修改配置文件,设置仓库根目录(web1主机操作)
# vim +11 /etc/gitweb.conf 
$projectroot = "/var/lib/git";
(3)创建版本仓库(web1主机操作)
# git init --bare /var/lib/git/base_http
(4)启动httpd服务器
# systemctl start httpd
(5)客户端访问方式(web2主机操作)
# firefox http://192.168.2.100/git/

制作nginx的RPM包

软件名称为nginx
软件版本为1.12.2
RPM软件包可以查询描述信息
RPM软件包可以安装及卸载
选项
NameNginx
Version1.12.2
Release1
SummaryNginx is a web server software.
LicenseGpl
URLwww.nginx.org
Source0nginx-1.12.2.tar.gz
Buil dRequiresgcc pcre-devel zlib-devel openssl-devel
%descriptionnginx [engine x] is an HTTP and reverse proxy server… …

编写systemd Unit文件

unit文件语法格式参考表:
语句描述
Description描述信息
After在那个服务之后启动
Before在那个服务之前启动
type服务类型,默认为simple
Environ mentFile定义标量文件
ExecStart执行systemctl start 需要启动的进程名称
ExecStop执行systemctl stop 需要停止的进程名称
ExecRleoad执行systemctl reload需要执行的命令
WantedBy依赖当前服务的target
1.熟悉systemctl常用命令
# systemctl             #列出所有启动的服务
# systemctl status   <服务名称>            #查看服务状态
# systemctl start     <服务名称>        #启动服务状态
# systemctl stop      <服务名称>        #关闭服务状态
# systemctl restart  <服务名称>        #重启服务状态
# systemctl enable  <服务名称>            #设置开机自启
# systemctl enable --now  <服务名称>    #设置开机自启并启动
# systemctl disable  <服务名称>        #禁止开机自启
# systemctl is-active <服务名称>        #查看是否激活
# systemctl is-enabled  <服务名称>        #查看是否开启自启
# systemctl reboot                    #重启计算机
# systemctl poweroff                     #关闭计算机
2.使用systemd管理Nginx服务
	# vim /usr/lib/systemd/system/nginx.service
[Unit]
Description=The Nginx HTTP Server        #描述信息
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
#仅启动一个主进程的服务为simple,需要启动若干子进程的服务为forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT ${MAINPID}
[Install]
WantedBy=multi-user.target
# systemctl restart nginx
# sysemctl enable nginx
# systemctl stop nignx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值