SVN 官网:https://subversion.apache.org/ Github SVN 源码:https://github.com/apache/subversion
SVN的全程是subversion,SVN版本控制软件可以解决协助开发、远程开发和版本回退三个问题。
特点:操作简单、入门简单、跨平台操作 。
SVN是输入C/S服务类软件,有客户端和服务端。
SVN的服务端
1 服务端安装:https://sourceforge.net/projects/win32svn/
2 配置工作:
3 服务器监管:
Apache— http://localhost:8080 访问htdocs目录
SVN— svn://localhost: 访问相关的数据仓库(如shop)
基本语法:
svnserve -d(后台运行) -r(监管目录) 版本仓库路径
示例:
通过以上指令,我们的svn://localhost 或ip地址就可以直接指向Shop版本仓库。
4 SVN的权限的配置文件都在conf中
SVN客户端(TortoiseSVN)
1 安装 :下载地址:https://tortoisesvn.net/downloads.html, 页面里有语言包补丁的下载链接。
2 安装汉化包 (安装完成后,在桌面空白地方右键:TortoiseSVN -- Settings -语言)
3 配置完之后第一次牵手:checkout(检出)
1.首先随便建个文件夹,取名jingli;
2.在你的项目目录右键—>TortoiseSVN—>版本库浏览器—>输入SVN服务器地址;
打开隐藏功能如果能看到.svn这个文件夹就说明客户端和服务端连接起来了,检出成功;
三大指令
checkout 检出操作: 1.连接到服务器 2.第一次链接的时候更新数据到本地,后面使用update(更新指令)
commit 提交代码:
-update 更新操作
右键更新操作即可自动更新最新的版本到本地。
忽略功能就是自己不想分享到服务器,仅仅是给自己看的内容:
1 忽略某个文件夹
2 忽略某个类型的文件
可以根据日志的信息选择要回退的状态
//再也不担心错误删除了吧,前提是需要commit你的代码
1 当两个人同时修改一份文档的时候就可能发生冲突
避免版本冲突:
错开开发时间
错开开发模块
通过svn解决版本冲突问题:
一、更新服务器数据到本地
二、删除三个带问好的文件
三、修改index.php冲突的文件
四、重新提交
authz:授权文件,告诉用户有哪些权限
passwd:认证文件,表示用户名和密码
默认情况、两个文件都是禁用的,必须要开启上面两个文件,具体步骤如下:
1 注释匿名用户可读写的权限:
2 开启认证和授权文件
3 编写认证文件,定义用户和密码:打开passwd
4 编写授权文件:
分组+授权
5 测试是否成功
配置服务器的自启动服务
sc create SVNService binpath = “D:\subversion\bin\svnserve.exe – service - D:/svnroot” start = auto
在cmd中输入相关命令: sc create 服务名称 binpath=空格"svnserve.exe --service"
在控制面板-管理工具-服务找到SVNserver
运行成功,svn监管服务开发成功
使用批处理文件来停止和开启管理器
启动服务 net start 服务名称
停止服务 net stop 服务名称
删除服务 sc delete 服务名称
封装成为.bat封装就可以减少很多工作量
模拟真实场景(重难点)
1、 使用钩子程序对项目进行更新
post-commit.tmpl: 事物完成之后触发的钩子程序
默认情况用批处理或者Shell指令完成
SVN扩展程序
1、BAE云引擎
百度应用引擎(BAE),网络应用开发平台。
http://bce.baidu.com/