在服务器上安装好git之后,新建一个git的目录
mkdir /home/git
cd /home/git
git init -bare wwwroot.git
这里初始化一个裸仓库,我的web目录是/home/wwwroot
然后在本地端打开终端执行:
cd desktop #进入到桌面
git clone ssh://root@tegic/home/git/wwwroot.git wwwroot.git
这里是用的root账户因为没有配置root的公钥,所以有安全提示需要输入yes,然后在输入密码 这样使用ssh协议从服务器上克隆裸版本库内容。
这时桌面会多出一个wwwroot.git的目录,就是克隆过来的版本库了。
这里先备份一下自己的wwwroot目录以免意外
cp -r /home/wwwroot /home/wwwroot2
然后设置钩子
cd /home/git/wwwroot.git/hooks
这里我们创建post-receive文件
vim post-receive
在该文件里输入以下内容
#!/bin/bash git –work-tree=/home/wwwroot checkout -f
保存退出
由于该文件其实就是一个shell文件,我们还应该为其设置可执行权限
chmod +x post-receive
其中 --work-tree
对应站点文件目录
然后就可以开始从本地开发了,在本地版本库工作区里开发,然后使用git push指令推送到远程裸版本库,钩子会post-receive自动生效,将文件检出到–work-tree目录里,实现同步。
因为配置git之前已经有正在运行的网站了,还不太懂怎么把现有目录同步到裸版本库。所以先把网站目录wwwroot里的网站目录先下载到本地的目录里在同步到版本库里
cd desktop
scp -r root@izww.cn:/home/wwwroot/izww.cn wwwroot.git/
PS:这里Clone过来的wwwroot.git版本库是放在桌面上的,所以修改文件需要提交之前先要进入的wwwroot.git目录再提交。
cd desktop/wwwroot.git
git add .
git commit -m "初始化文件"
git push origin master
第一次push可能会有一些提示,因为裸版本库还什么都没有,你可能需要 git push origin master
写全命令,之后就没必要了,直接git push
由于网站目录本身存在数据,访问网站看不出变化。
修改下自己的博客主题style.css然后再提交
OK!!!搞定。。