git钩子 github在安装liunx 自动化部署 同步提交指定目录

xiaoxiao2021-02-28  150

前言:作为一个开发者,希望能够在本地把代码提交到服务器指定目录,同时在本地进行单文件或多文件增删改查,甚至部署之后出bug需要回退到某个版本。另本文作者是php开发者,自动部署我们重启php-fpm和nginx,而其他开发者重启tomcat等工具大同小异。开始正文

准备工作环境 1.本地安装好git base【这里和git cmd,git gui是一个包】,没有的同学自动百度安装. 2.服务器上安装git。【这里博主用的是centos】,没安装的同学一条命令

yum install git

1. 服务器建立版本库与建立项目目录

1. ![新建一个初始化仓库。比如,一个叫test的仓库,它的空版本应该保存在 test.git 目录下。外面目录随意]

2.进入新建的仓库 cd test.git/ 3.新建你的项目目录,这里默认为www

mkdir /www

4.在hooks新建post-receive文件,并编辑

vi hooks/post-receive

编辑post-receive写入一下内容

#!/bin/sh GIT_WORK_TREE=/www git checkout -f [/www]写你实际的目录 service php-fpm restart #这里重启服务,需要配置全局php-fpm,其他服务直接写cmd命令即可

5.然后给post-receive可执行权限

chmod +x post-recevie

2.本地客户机操作

1.进去你本地仓库代码目录 后缀目录和上面新建仓库目录路径一样

git clone ssh://git@你的ip/home/testgit/test.git

ps:这里要输入密码请配置ssh免密登录 2.写文件提交测试

touch inden.php [新建文件] git add . [提交所有文件] git commit -m '这是第一次提交'[-m是提交版本的备注] git push [推送到服务器上]

这里一般权限等错误,请给/www权限,以上过程教程很多不在叙述

3.修改提交与版本回退

1.实例正常提交与修改文件 增加文件 删除文件 现在客户机上和钩子项目目录都有 index.html 2.尝试新增一个文件正常提交

3.我们编辑这个index.php增加几个字符

岷县看到服务器钩子目录的index.php增大了,时间也发生变化

4.版本回退,这里不用git checkout 因为这个在本地操作的化不触发钩子

git log --oneline [查看提交版本日志]

可以清晰看到最近提交的第一条是现在所处的版本 现在我们回到上一个版本

git reset --hard 97a7691 [参数为版本号] git push -f [强制提交]

这里可以看到index.php变为上一个版本提交的空了。 欢迎在评论区提出问题、

转载请注明原文地址: https://www.6miu.com/read-17765.html

最新回复(0)