SVN版本控制,服务端和客户端项目同步

服务端

系统环境:centerOS7.4 , 宝塔面板

  • 通过yum命令安装svnserve
yum -y install subversion

此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行,如图:

图片[1]|SVN版本控制|子归云

  • 新建版本库命令

建立版本库目录,命令如下:(目录可自拟)

mkdir /www/mysvn

创建完成,会在www下多出来一个mysvn目录,如图

图片[2]|SVN版本控制|子归云

  • 创建版本库repository,命令如下
svnadmin create /www/mysvn/repository

创建完成,会在mysvn下多出来一个repository目录,如图

图片[3]|SVN版本控制|子归云
  • 添加访问账号和密码

安装和部署完成后,我们需要配置相关权限及账号密码,我们先配置svn访问密码,在/www/mysvn/repository/conf/目录下 找到 passwd 文件添加访问账号和密码,账号密码格式为: 账号 = 密码 中间留空格 , 如下图:

图片[4]|SVN版本控制|子归云

  • 修改svnserve.conf配置文件

账号密码设置完成后我们需要对配置文件设置权限,

/www/mysvn/repository/conf/目录下找到 svnserve.conf 文件,把这几个注释打开

realm = 对应svn版本库目录

anon-access = read
auth-access = write
password-db = passwd
realm = /www/mysvn  

  • 修改authz文件

在文件下面输入以下配置

[\]
admin = rw
anon-access = read
auth-access = write
password-db = passwd
realm = /www/mysv
  • 设置同步库文件

 /www/svndata/baseData/hooks/ 目录下新建 post-commit 文件(空白文件,没有后缀)用于将svn中的文件同步到系统运行目录下,因为我要做项目协同,所以目录我直接配置的公司项目:

REPOS="$1"
REV="$2"
export LC_ALL="zh_CN.UTF-8"
export LANG="en_US.UTF-8"
SVN_PATH=/usr/bin/svn                 
WEB_PATH=/www/wwwroot/baseData     
SVN_USER=admin                       
SVN_PASS=root                          
LOG_PATH=/www/svndata/baseData/svn.log      
echo `date "+%Y-%m-%d %H:%M:%S"` >> $LOG_PATH
echo `whoami`,$REPOS,$REV >> $LOG_PATH
echo `****************************************` >> $LOG_PATH
echo `****************************************` >> $LOG_PATH
$SVN_PATH update $WEB_PATH --username $SVN_USER --password $SVN_PASS --no-auth-cache >> $LOG_PATH
exit 0

WEB_PATH : 需要做版本控制的项目

SVN_USER:账号

SVN_PASS:密码

LOG_PATH:log输出目录

图片[5]|SVN版本控制|子归云

  • 服务端同步检出

/www/wwwroot下输入检出命令,进行同步

svn checkout svn://你的服务器ip/repository/
图片[6]|SVN版本控制|子归云

/www/wwwroot/repository/ 就看到了被同步的svn项目,如图

图片[7]|SVN版本控制|子归云
  • 结束svn进程
killall  svnserve
  • 启动svn
svnserve -d -r /www/mysvn
  • 开放端口号3690

云服务器和宝塔都要开启

宝塔:

图片[8]|SVN版本控制|子归云

阿里云服务器:

图片[9]|SVN版本控制|子归云

客户端

  • 本地创建目录

在D盘下创建SVN目录,如图

图片[10]|SVN版本控制|子归云
  • 检出目录

在SVN目录下右键,点击检出,如图

图片[11]|SVN版本控制|子归云

输入你的svnURL , 它会自动在你当前目录下创建对应的文件夹,点击确定

图片[12]|SVN版本控制|子归云

目录拉取下来了

图片[13]|SVN版本控制|子归云
  • 提交

找几个文件复制到repository文件夹中,右键点击SVN提交

图片[14]|SVN版本控制|子归云

全都选上,点击确定

图片[15]|SVN版本控制|子归云

它会提示输入用户名和密码,之前在post-commit文件配置的用户名和密码添上即可,点击确定

图片[16]|SVN版本控制|子归云

提交完成,文件会有绿色的对号,于版本:1 是为了版本控制,接下来我会说

图片[17]|SVN版本控制|子归云

  • 更新

在空白目录下右键点击更新,会从版本库中把当前最新的项目拉取下来,继而在上面修改提交,保证版本处于最新状态

  • 版本控制

在一个项目中,除了协同外,还要对版本进行控制

在提交成功后会在下面显示版本号 于版本:x ,这就是当前的版本

在 本地SVN项目目录中右键 > 更新至版本 点击

图片[18]|SVN版本控制|子归云

输入版本号,点击确定,就可恢复到特定版本

图片[19]|SVN版本控制|子归云

需要注意的是文件不能直接上传到服务器中,即使上传了,本地点击更新也不能拉取

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容