创建自己的仓库
cd /var
mkdir git && cd git
mkdir your_site.git && cd your_site.git
git init --bare
--bare的意思是,该文件夹是我们的代码仓库,它将不会放源代码而只是做版本控制。
Hook钩子
我们将会使用post-receive钩子,更多钩子及含义可以参考git文档 在your_site.git文件夹中
ls
你可以看到有hooks文件夹已经为我们创建好了,而且里面也有各种钩子的样例
cd hooks
创建我们自己的post-receive
vim post-receive
按回车后提示我们继续输入,接下来输入的动向都会被放入post-receive文件中。
#!/bin/sh
git --work-tree=生产环境网站文件夹位置 --git-dir=/var/git/your_site.git checkout -f
输入完成后按ctrl + D
保存,git-dir
指的是仓库的址, work-tree
则是存放代码的位置,也就是我们的网站的源代码的位置。 接下来则是要保证它可以运行:
chmod +x post-receive
本地
一般情况是你已经有了自己的git项目了,那么只需要添加vps的仓库地址就行了
git remote add myVPS-sitename ssh://user@mydomain.com/var/git/your_site.git
'myVPS-sitename'只是这个远程连接的名称,你可以同时有多个远程连接,每次push的时候指定名称即可将代码上传到不同的仓库。
如果你本地还没有项目代码:
cd 项目地址
git init
添加一个README.ME文件后
git add .
git commit -m "项目初始"
接下来我们便可以将代码push到vps了:
git push myVPS-sitename master
master
指定的是master分支,如果你有其他分支也可以push其他分支。