简述
我们开发一个项目一般都是一个开发团队进行协同开发,使用SVN进行版本管理有助于我们提高开发效率,而将SVN服务器和Web站点的代码进行同步更新会使得我们的开发更为方便。客户端提交了版本修改之后,在之前的每次都是需要执行svn update命令,而且不小心会出现开发冲突。
为什么需要同步呢?原因是我们commit的文件其实是提交到了svn的仓库中,svn仓库不是一个实际的网站根目录。流程如下:本地文件commit到仓库->仓库同步到根目录,可以把仓库理解为一个中转站。
配置
前面上篇博文已经讲述了《Linux下SVN的安装与配置》,和SVN项目创建,基本的提交等。这里就不再及逆行赘述。
进入到项目下的hooks文件夹,复制post-commit.tmpl将post-commit.tmpl扩展名去掉,并赋予777权限。
图1
图2
然后编辑post-commit文件写入以下内容。
#!/bin/sh export LANG=zh_CN.UTF-8 svn co svn://你的ip/project /home/wwwroot/project_web
最后重要步骤,cd /回到根目录,执行以下语句,这一步的作用是让服务器记忆你svn的账号密码,防止出现权限等问题,首先让你输入你服务器的密码,接着输入svn的账号密码,其中会问你是否记忆,输入yes。
svn co svn://你的ip/project /home/wwwroot/project_web
至此svn已经配置完毕,并且可以实现本地一执行上传,自动同步到网站跟目录。
除了post-commit这种编写方式之外,还有其他另外几种方式,有兴趣的可以在网上查找学习一下。