SVN
2018-10-10 08:39:03来源:博客园 阅读 ()
SVN
2.1 版本控制
2.1.1 什么版本控制
l 版本控制(Revision Control):是维护工程蓝图的标准做法,能追踪工程蓝图从诞生一直到定案的过程。是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统。也是一种软体工程技巧,籍以在开发的过程中,确保由不同人所编辑的同一档案都得到更新。
2.1.2 版本控制软件
l CVS(Concurrent Versions System)代表协作版本系统或者并发版本系统,是一种版本控制系统,方便软件的开发和使用者协同工作。
l VSS ( Visual Source Safe )只能在windows下,作为 Microsoft Visual Studio 的一名成员,它主要任务就是负责项目文件的管理
l Git是用于Linux内核开发的版本控制工具。它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。Git的速度很快,这对于诸如Linux kernel这样的大项目来说自然很重要。Git最为出色的是它的合并跟踪(merge tracing)能力。
www.github.org
。。。。。。
l SVN(Subversion ),是一个开放源代码的版本控制系统,采用了分支管理系统,它的设计目标就是取代CVS。
2.2 SVN特点
l 统一的版本号。CVS是对每个文件顺序编排版本号,在某一时间各文件的版本号各不相同。而Subversion下,任何一次提交都会对所有文件增加到同一个新版本号,即使是提交并不涉及的文件。所以,各文件在某任意时间的版本号是相同的。版本号相同的文件构成软件的一个版本。 l 原子提交。一次提交不管是单个还是多个文件,都是作为一个整体提交的。在这当中发生的意外例如传输中断,不会引起数据库的不完整和数据损坏。 l 重命名、复制、删除文件等动作都保存在版本历史记录当中。 l 对于二进制文件,使用了节省空间的保存方法。(简单的理解,就是只保存和上一版本不同之处) l 目录也有版本历史。整个目录树可以被移动或者复制,操作很简单,而且能够保留全部版本记录。 l 分支的开销非常小。 l 优化过的数据库访问,使得一些操作不必访问数据库就可以做到。这样减少了很多不必要的和数据库主机之间的网络流量。 l 支持元数据(Metadata)管理。每个目录或文件都可以定义属性(Property),它是一些隐藏的键值对,用户可以自定义属性内容,而且属性和文件内容一样在版本控制范围内。 l 支持FSFS和Berkeley DB两种资料库格式。 l 不足:只能设置目录的访问权限,无法设置单个文件的访问权限。
|
2.3 体系结构
2.4 安装
l 测试安装
l 检查path系统环境变量
2.5 创建仓库
l 格式:cmd> svnadmin create 路径
l 仓库目录结构
l 注意:创建仓库时,目录必须是空的 ,及新建文件夹
2.6 启动
l 格式:cmd> svnserve -d -r 仓库的路径
-d后台执行
-r版本库的根目录
启动时,指定“仓库路径”不同,分类:多仓库和单仓库
l 多仓库【掌握】
启动:svnserve -d -r 仓库父目录 ,表示启动时多仓库
例如:svnserve -d -r G:\repository\svn
访问:svn://localhost:3690/bbs
l 单仓库
启动:svnserve -d -r 仓库的根 ,表示启动时单仓库
例如:svnserve -d -r G:\repository\svn\bbs
访问:svn://localhost:3690
l 将操作注册成操作系统的“服务”,开机启动。
1.“运行”,services.msc 打开“服务”
2. 删除“服务”
3. 注册“服务”
sc create svn binpath= "D:\java\Subversion\bin\svnserve.exe --service -r G:\repository\svn" displayname= "SVN-Service" start= auto depend= Tcpip |
4. 启动或停止“服务”
2.7 操作【掌握 思想】
2.7.1 checkout
l 格式:svn checkout 服务器地址 下载地址
2.7.2 commit
l 格式:svn commit 资源
问题1:没有纳入版本控制
使用add子命令 添加到本地版本库
问题2:没有编写日志
采用 -m 参数设置日志信息
问题3:没有权限
修改权限,设置匿名访问
G:\repository\svn\bbs\conf\svnserve.conf
2.7.3 update
l 格式: svn update
2.8 图形化:TortoiseSVN 安装
l 安装成功之后,所有的操作都是“右键”
2.9 svn权限
l 权限需要3个配置文件
l svnserve.conf
开启认证
确定账号配置文件位置
确定认证配置文件位置
l passwd 账号配置 (一行一个账号,账号用户名和密码组成,使用等号分隔)
l authz 认证配置文件
配置组 , 格式:组名 = 用户1 ,用户2,....
认证细节配置
多仓库
[bbs:/] --> 确定仓库名称 。[bbs:/doc] 给bbs仓库的doc目录配置权限
@itheima = rw --> 给itheima组设置权限。
read ('r') ,read-write ('rw') ,or no access ('').
user3 = r --> 给user3 指定权限
*= --> 其他用户没有权限
单仓库
[/] -->当仓库的根 [/doc] 单仓库doc目录
2.10 TortoiseSVN 常见图标
2.11 myeclipse svn 插件
2.11.1 安装插件
如果3个都不能使用,直接换eclipse
l 安装方式1:直接复制
eclipse插件规范
eclipse 目录
| -- features目录
| -- plugins 目录
l 方式2:使用link文件
将插件解压到任意目录(不含中文、空格),在myeclipse/dropins目录添加一个link文件
文件名:自定义
文件扩展名:link
文件内容:
path = 插件完整目录,需要指定到eclipse,及可以看到(features 、 plugins)
例如:
path=D:\\java\\MyEclipse\\MyEclipse 10\\svn\\eclipse
path=D:/java/MyEclipse/MyEclipse 10/svn/eclipse
l 方式3:在线安装
l 安装成功标志
2.11.2 操作
2.12 svn目录规范
trunk ,主线,用于存放程序整个进度
branches ,分支,例如:bug修复、特殊功能等
tags,标签(版本),此目录下的内容不能修改
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 针对kafka_2.13版本测试过程中的一些坑 2020-05-23
- 并发编程之进程与线程 2020-02-06
- 单例模式 2019-12-30
- java 超详细面经整理(持续更新)2019.12.19 2019-12-19
- kubespray2.11安装kubernetes1.15 2019-11-17
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash