git hook 即git钩子,同时我们还需要一个裸仓库,原理就是当我们向服务器的裸仓库push代码时,就会触发钩子执行已经写好的脚本。脚本执行命令,将代码拉到www服务器的文件目录。
// 小技巧,可以在你的host里面绑定你的ip,为你的名字,那么接下来就可以
ssh zhenping@zhenping //链接你的服务器了。
首先,先了解一下centos的文件目录。cd ~即是用户目录,在/home/username中
本次所有操作都在根目录操作。
sudo git init --bare gitProject.git //裸仓库
mkdir www //web文件
cd www
git clone /gitProject.git
//若是不能克隆,就先初始化,然后设置git 路径
git init
git remote add origin /gitProject.git
// 设置git hooks
cd /gitProject.git/hooks/
vim post-receive
//插入一下代码,然后保存退出
#!/bin/sh
unset GIT_DIR
cd /www
git fetch --all
git reset --hard origin/master
// 赋予 post-receive 文件可执行权限
chmod +x post-receive
接下来,在本地新建一个文件夹 /test
git init
git remote add origin username@server_ip:/path/xxx.git
此时www文件下是空的
然后我们新建一个txt文件,内容如下
执行git命令上传
检查远程服务器/www文件夹
vim test.txt
查看内容
搞定啦。