初始化了test.git的仓库文件。地址为:
git clone git@192.168.1.200:/usr/local/gitdata/test.git
进入我们的裸仓库的hooks文件夹,然后新建一个post-receive文件。
cd /usr/local/gitdata/test.git/hooks/
新建post-receive文件
vim post-receive
在post-receive写入以下内容:
#!/bin/bash
git --work-tree=/var/www checkout -f
说明:/var/www是需要同步的站点目录
设置post-receive为可执行文件
chmod +x post-receive
说明:post-receive的主要目的是当远程仓库发现有用户执行了push操作,
就会执行一个脚本post-receive(钩子)。需要修改你的web站点目录的权限,
修改所属用户与用户组为git,否则钩子的权限可能会不足而导致执行失败。
设置好钩子后,当你本地再次执行push的时候,会发现web目录的文件也同步的更新了。
例如web目录为/var/www
创建web目录
mkdir /var/www
设置/var/www的权限
chown git:git -R /var/www
本地push到git服务器仓库,然后去查看/var/www中web目录就发现同步了。
网站运维:git工具(8):Git钩子的使用-git仓库文件同步到web下
最新推荐文章于 2023-06-28 09:40:08 发布