SVN 版本控制软件
属于C/S结构软件(客户端与服务端)
服务端软件:VisualSVN
网址:Downloads | VisualSVN
下载好:VisualSVN-Server-5.1.3-x64.msi
客户端软件:TortoiseSVN
网址:http://tortoisesvn.net/downloads
1.服务端安装
双击 VisualSVN-Server-5.1.3-x64.msi
2.服务端配置
1.创建版本仓库
新建一个文件夹,比如svn/Webapp/shop
cmd输入命令:svnadmin create 目标路径
就会在目标路劲下创建以下文件
2.进行服务端监管
能够使svn-----》svn://localhost或IP地址访问到相关数据仓库(如shop仓库)
命令:
svnserve -d(后台运行) -r(监管目录) 版本仓库路径
执行后,光标一直闪烁,表示后台运行 界面不要关
通过以上指令,我们的svn://localhost或ip地址就可以直接指向shop版本仓库。
3.权限控制
默认情况下,svn服务器是不允许匿名用户上传文件到服务端的,所以必须更改项目的相关配置文件
去掉前面的#号
3.客户端安装
按照客户端,完成后鼠标桌面右键显示下图,安装成功
项目经理检出
完成后出现文件.svn ---------如果没有,打开隐藏文件夹
4.SVN三大指令使用详解
1.Checkout--------登录检出操作
作用:链接到svn服务器端;更新服务端数据到本地
注意:checkout只在第一次链接时操作一次,以后如果进行更新操作请使用Update(更新指令)
(1)在需要存放svn文件目录下,点击右键,选择svn检出
(2)弹出 窗口如图:输入版本库地址,系统会自动获取当前检出目录,也可填写更改。
输入登录的用户名,密码,保存认证,以后再使用svn时不用再进行登录,完成检出
2.commit和update
commit-----提交:将自己修改过的文件提交到模块中
update------更新:从模块中下载其他人的修改过的文件。更新本地的拷贝
完成
5.图标集与忽略功能
九大图标:
1.常规图标normal
当客户端文件与服务器端文件完全同步时,系统显示以上图标
2.冲突图标conflicted
当客户端文件与服务器端数据有冲突时,系统显示以上图标
3.删除图标deleted
当服务端数据已删除,那么客户端该文件将显示以上图标
4.增加图标added
当我们编写文件已添加到提交队列,那么系统将自动显示以上图标
5.无版本控制图标non-vwesioned
当我们编写文件还未添加到上传队列,那么系统将自动显示以上图标
6.修改图标modified
当客户端文件有修改但为提交,显示以上图标
7.只读图标readonly
当客户端文件以只读文件存在时,显示以上图标
8.锁定图标lcoked
当服务端数据已锁定,那么客户端文件将自动显示锁定图标
9.忽略图标
客户端文件已忽略,不需要进行提交上传,将自动显示锁定图标
忽略功能:有些文件不希望上传至svn服务器,可以添加至忽略列表
1.忽略某个指定的文件:
对需要忽略的文件右键
2.忽略某一个类型的文件
6.版本回退
空白区域单击右键
7.版本冲突
在实际项目开发中,如果两个人同时修改某个文件就会产生版本冲突问题
解决办法:
1.合理分配项目开发时间
2.合理分配项目开发模块
3.通过SVN解决版本冲突问题
①更新服务器端数据到本地
上图点确定后,点升级
然后发现文件夹中多了几个文件:
最后重新提交即可
7.配置多仓库与权限控制
1.配置多仓库
在实际开发中,我们可能同时开发多个项目,那么我们如何进行多项目监管呢?
通过svnserve 进行仓库监管,但是监管指令只能监管某一个文件夹,而不能同时监管多个仓库。
答:可以通过监管上一级目录,达到监管该目录下所有仓库的目的
2.权限控制
如果要使用权限控制有一个前提:必须首先开启权限功能
在每一个仓库中都有一个conf文件夹
authz文件:授权文件 。告诉哪些用户具有哪些权限
passwd文件:认证文件。 标识当前svn系统中某个仓库具有哪些用户以及相应的密码
默认情况下,以上两个文件都是禁用的,如需要使用,首先要开启以上两个文件
svnserve.conf配置文件
开启步骤:
svnserve.conf配置文件
编写认证文件定义相关用户名和密码
passwd文件
编写授权文件authz文件
8.svn服务配置与管理
1.配置自启动服务
把监管命令追加到Windows系统服务中,就会随着window启动而启动
sc create 服务名称 binpath=空格"svn安装目录下/bin/svnserve.exe --service -r 监管目录" start=空格 auto
2.创建批处理文件
可快速启动服务、停止服务、删除服务
net start 服务名称 启动
net stop 服务名称 停止
sc delete 服务名称 删除
比如:
新建一个文件stop.bat
输入net stop SVNService 保存
9.模拟真实开发
1.svn工作流程
2.钩子程序
post-commit.tmpl ------事务完成后所触发的钩子程序
钩子程序默认情况可以采用批处理指令或shell指令来进行编写
3.通过批处理指令来编写钩子程序
1.设置svn服务端工作目录
2.设置服务器端项目工作目录
3.通过update指令实时更新数据到DIR目录中