1.SVN介绍 SubVersion
主要解决:
协作开发、远程开发、版本回退
1.SCM:软件配置管理
它是对软件的源代码进行控制和管理
2.SVN的特点
操作简单----
支持版本回退----
支持跨平台操作----
3.SVN属于 C/S架构的软件,
服务端:VisualSVN
网址:
http://www.visualsvn.com
客户端:Tortoisesvn
网址:
http://tortoisesvn.net/downloads
2.SVN的使用流程和安装
checkout:1.建立与服务器的连接,并且更新数据到本地
update:更新数据,把服务器的数据更新到本地
commit :提交数据到服务器
安装
到官网下载
VisualSVN-Server-5.1.4-x64.msi
点击安装:
注意安装位置不能是带有空格的中文的
3.SVN服务服务端配置
1.创建项目
1.在SVN服务端创建一个公有目录 WebApp 做为项目目录
2.在webApp下创建Shop目录作为shop的版本仓库
3.创建版本仓库在doc命令行
svnadmin create shop的文件目录
4.进行服务端的监管
SVN-> svn://localhost或(ip地址)访问到相关的数据仓库
svnserver -d(后台运行) -r(监管目录) 版本仓库路径
5.权限控制,SVN默认是不允许匿名用户去上传文件到服务器的,所以必须更改项目的配置文件
修改svnserver.conf配置文件 19行 anon-access = write
4.SVN客户端软件安装和使用
http://tortoisesvn.net/downloads
安装乌龟svn
安装完成之后请重新启动
1.使用客户端软件去连接SVN服务器软件
(checkout)
首先你在项目目录鼠标右键–>TortoiseSVN->版本库浏览器
svn://ip或者localhost
由于监管了shop 所以之间连接了shop
右键–检出 在目录中打开显示隐藏文件夹.svn隐藏目录
5.svn使用详解
右键提交就好了
checkout、update、commit提交
1.图标集
绿√:当前文件已经和服务端同步了
?: 当前文件还没有提交到提交队列
+:当前文件已经提交到提交队列了
白色-:表示当前文件是一个被忽略的文件,不用提交
!:客户端数据与服务端数据存在冲突
×:服务端文件已经删除
5.2 SVN版本回退
点击Tortoise–》更新置版本
根据日志回退和根据版本号回退
5.3 SVN版本冲突问题
多个人同时修改服务端的某一个文件,这样就会存在版本冲突
后提交的那个人需要重新拉取一下这个冲突文件到本地,自己解决冲突,再重新提交
6.配置多仓库与权限控制
1.在实际开发中可能会同时开发多个项目,那就需要svnserver监管多个服务路径
可以通过监管公共webapp目录,来达到监管所有的仓库的目的
然后通过去连接svn://localhost/Shop、svn://localhost/WeChat这样去管理多仓库
权限控制:
1.开启权限功能 在服务端每一个仓库都会有conf配置,在这个文件夹里面有
authz文件:授权文件
告诉哪些用户具有哪些权限
password文件:认证文件
表示SVN系统种某个仓库具有哪些用户以及密码
默认这样两个文件都是关闭的,要开启才可以使用
在svnserver.conf中
1.注释掉匿名用户的可读可写权限
**19行 anon-access = write
2.开启,password-db和authz-db文件
3.在password中写用户名和密码
4.编写授权文件
组名 = 用户名,用户名2
[Shop:/]这个仓库下
@组名 = rw 可读可写
** 匿名用户
7.SVN自启动服务和批处理abt文件的管理服务
1.配置自启动服务 (在DOC命令行中执行)
sc create 服务名称 binpath=空格"svnserver.exe -service -r D:/svn/Webapp" start=空格 auto
这个是创建系统服务
在服务中,找到我们创建的服务名然后点击开启就可以达到监管服务的目的
2.批处理文件
启动文件 net start 服务名称
停止服务 net stop 服务名称
删除服务 sc delete 服务名称
8.钩子程序 自动更新文件到web服务器显示
在版本库中的hooks文件中,就都是我们的钩子程序
post-commit.tmpl:事务完成后所触发的钩子程序
9.svn扩展程序
BAE:百度应用引擎