Git的完整使用【实现站点自动部署】

本文档详细介绍了如何创建Git仓库、配置裸仓库、设置权限,以及通过编辑post-receive钩子文件实现自动化部署到不同站点目录。重点强调了权限设置和钩子文件的编写,适用于Git仓库管理和自动化部署实践。

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

#下边为仓库的创建,钩子文件内容,如何实现自动部署站点钩子文件至关重要
#创建一个空文件夹
mkdir  demo.git
#切换至创建的文件夹下
cd demo.git
#初始化git仓库
git init --bare
#执行命令返回信息
Initialized empty Git repository in /mnt/git/demo.git/  #即为成功
#切换至刚才创建的目录中会发现已经生成了对应的git相关文件夹和文件
drwxr-xr-x 2 root root 4096 Dec  8 13:50 branches
-rw-r--r-- 1 root root   66 Dec  8 13:50 config
-rw-r--r-- 1 root root   73 Dec  8 13:50 description
-rw-r--r-- 1 root root   23 Dec  8 13:50 HEAD
drwxr-xr-x 2 root root 4096 Dec  8 13:50 hooks
drwxr-xr-x 2 root root 4096 Dec  8 13:50 info
drwxr-xr-x 4 root root 4096 Dec  8 13:50 objects
drwxr-xr-x 4 root root 4096 Dec  8 13:50 refs
#vim编辑config文件
vim config
#文件内容如下
[core]
        repositoryformatversion = 0
        filemode = true
        bare = true
#将文件中的filemode值设置为false

#(注意:filemode git文件提交时是否包含文件的rwx权限,一般设置为false,详细可查度娘)

#编辑结束保存退出

#创建站点目录

mkdir webDemo

#并将要使用的域名解析到该站点即可

#重点:站点目录需要赋予可读可写权限,不然一会配置git钩子文件自动部署会出现问题

#回到刚才创建的git仓库下,根据当前情况而言(权限问题一定要注重,稍有不慎将引火上身)

#如若测试,将git仓库下的内容设置权限命令

chmod -R 777

#创建钩子文件实现自动化部署

#进入仓库目录下的 hooks文件夹下(如若想深入了解git目录下的文件以及文件夹的具体含义,私下学习,本次不说)

cd demo.git/hooks

#钩子的重点来了

#创建并编辑文件

vim post-receive
#这是目前我使用的钩子文件内容,可根据你自己的情况修改对应的目录信息

--开始

#!/bin/bash
while read oldrev newrev ref
do
    if [[ $ref =~ .*/master$ ]];
    then
        echo "this is DEMO master"
        git --work-tree=/mnt/demo/web  checkout -f master
    fi
    if [[ $ref =~ .*/dev$ ]];
    then
        echo "this is DEMO dev"
        git --work-tree=/mnt/dev-demo/web  checkout -f dev
    fi

done

--结束 

#上述内容大致为将不同版本的信息自动部署入不同的站点目录中
#创建用户 分配用户组 分配git仓库文件夹所属用户和用户组皆为简单部分,多练多学,祝你早日成功
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

炸炸他养父

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值