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

前言:作为一个开发者,希望能够在本地把代码提交到服务器指定目录,同时在本地进行单文件或多文件增删改查,甚至部署之后出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变为上一个版本提交的空了。
欢迎在评论区提出问题、

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值