svn服务端安装
svn服务端配置
svn服务端配置:
- 创建一个项目
首先在svn服务端创建一个公有目录webapp作为项目目录
在webapp目录下创建shop目录作为shop(版本仓库)
创建版本仓库
svnadmin create shop 文件路径(shop仓库)
如果配置成功显示,那么shop文件夹显示以下目录结构
-
进行服务端监管:
svn://localhost(或ip地址)访问到相关数据仓库(如shop仓库)
基本语法:svnserve -d(后台运行) -r(监管目录)版本仓库路径
如图所示
通过以上指令,就可以通过svn:localhost或ip地址访问到服务端
- svn权限配置
通过更改conf中的svnserve.conf进行权限控制
将anon-access = read 改为write
svn客户端安装与使用
安装完成后,重启计算机,如果鼠标右键出现了svn相关则成功
使用客户端软件连接svn服务器
(checkout检出)
首先在你的项目目录鼠标右键—>tortoisesvn–>版本库浏览器—>输入svn服务器地址
如果文件夹出现.svn隐藏文件夹就检出成功了
svn使用详解
- svn三大指令
checkout 检出操作:链接到svn服务器,更新服务端数据到本地
checkout只在第一次链接时操作,以后如果进行更新操作使用update(更新指令) - commit :提交本地指令到服务端,记得先访问到服务端通过svnserver -r -d
获得代码
- 先检出checkout,输入svn服务器地址
- 再提交commit提交
- 通过update下拉其他代码
svn图标集
-
图标集
- 常规图标
含义:当客户端文件与服务端文件完全同步是,系统显示以上图标 - 冲突图标
含义:当客户端提交的文件与服务端数据有冲突,显示以上图标 - 删除图标
含义:当服务端数据已删除,那么客户端显示该图标-
增加图标:
含义当我们编写文件已添加到提交队列,那么系统显示该图标 -
无版本图标:
含义:当我们编写的文件没有添加到上传队列时,显示该图标 -
修改图标:
含义:当客户端文件有修改但为提交,显示以上图标 -
只读图标:
含义:当客户端文件以只读形式存在时,显示- 锁定:
含义:当服务器端数据已锁定,客户端将显示- 忽略图标
含义:客户端文件已忽略,显示以上图标
- 忽略图标
- 锁定:
-
- 常规图标
-
忽略功能
不想上传到服务器中文件可以忽略- 忽略某个指定的文件
- 忽略某一类型的文件
- 忽略某一类型的文件
- 忽略某个指定的文件
SVN版本回退
在项目空白处点击TortoiseSVN—>更新至版本
可以选择根据日志回退,和根据版本号回退
根据日志回退选择要回退的版本:
版本冲突解决
在项目开发中,两个人同时修改了某个文件就会产生版本冲突问题
解决方法:
- 合理分配项目开发时间
- 合理分配项目开发模块
- 通过svn解决版本冲突
- 更新服务器版本数据到本地
index.php:整合后的index.php文件
index.php.mine:自己的index.php文件
index.php.r6 初始状态的index.php
index.php.r7 冲突版本 - 删除除index.php以外的其他三个文件
- 修改整合index.php冲突文件
- 重新提交数据到svn服务器端
- 更新服务器版本数据到本地
svn配置多仓库与权限控制
-
配置多仓库
在实际项目可能会通知开发多个项目可以通过监管webapp总目录来监管所有的仓库
要访问具体的应用的话直接: svn://localhost/shop 就可以了 -
权限控制
如果要使用权限功能不虚先开启权限功能
在每个仓库都有一个conf文件夹,里面有三个文件
authz文件:授权文件
告诉用户哪些用户具有权限passwd文件:认证文件
标识当前svn系统中某个仓库具有哪些用户以及相应的密码默认情况下,以上两个文件都是禁用的,如需要使用需要开启以上两个文件通过配置svnserver.conf配置文件
开启步骤如下:
- 注释匿名用户的可读写权限
- 开启认证文件和授权文件
- 注释匿名用户的可读写权限
-
配置认证文件定义相应用户名与密码
-
编写授权文件
配置用户组:组名 = 用户列表
配置相关项目对应的用户组对应的权限
r:可读
w: 可写 -
测试
如果弹出以上认证页面说明设置成功
svn服务的配置与管理
- 配置自启动服务
sc create svnservice binpath="svnservice.exe --service -r 服务地址" start=auto
sc create 服务名称 binpath=