SVN图解教程(我的十一很精彩)
Work With SVN
一、 SVN简介 SVN(subversion)是近年来崛起的版本管理工具,是CVS的接班人。目前,绝大多数开源软件都使用SVN作为代码版本管理软件。 1.1 SVN服务器SVN服务器,支持linux和windows,更多是安装在Linux下。 SVN服务器有2种运行方式:独立服务器和借助apache。2种方式各有利弊。 SVN存储版本数据也有2种方式:BDB和FSFS。因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点。
1.2 SVN客户端Subversion的客户端有两类,一类是websvn等基于web的,一种是以TortoiseSVN为代表的客户端软件。前者需要web服务器的支持,后者需要用户在本地安装客户端。
1.3 SVN插件AnkhSVN是一款在VS中管理Subversion的插件,您可以在VS中轻松的提交、更新、添加文件,而不用在命令行或资源管理器中提交。
二、 软件比较 SVN属于开源项目,运用广、版本多,版本之间相差大。下表列出了主要的SVN服务器、客户端、SVN运用于VS上的插件。
2.1 Subversion与VisualSVN Server比较VisualSVN Server集成了Subversion和Apache;封装SVN Server为windws service,并随机器自动启动;图像化配置Apache服务器,指定认证方式、访问端口等简单操作;图像界面配置用户权限等。因此,本项目选择VisualSVN Server作为SVN服务器端软件。 2.2 TortoiseSVN与WebSVN比较TortoiseSVN为SVN客户端桌面版,具有用户群广,使用简便,各版本较为稳定等特点。本项目中选择TortoiseSVN作为SVN客户端软件。 2.3 VisualSVN 与 AnkhSvn比较两款软件都很好用,功能上相差不大,但VisualSVN收费,而AnkhSvn为开源免费,因此,本项目选择AnkhSVN作为VS上使用SVN的插件。
三、 安装与配置 3.1 软件准备VisualSVN Server:Subversion服务器版。 TortoiseSVN:Subversion客户端。 AnkhSvn:VS上使用SVN的插件。 3.2 VisualSVN Server安装1)点击VisualSVN-Server-2.1.2.msi,按下图进行安装
3.3 TortoiseSVN安装TortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器。你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改。这就是为什么许多人将 Subversion 和版本控制系统看作一种“时间机器”。 TortoiseSVN安装步骤如下:
3.4 AnkhSvn安装AnkhSVN是一款在VS中管理Subversion的插件,您可以在VS中轻松的提交、更新、添加文件,而不用在命令行或资源管理器中提交。而且该插件属于开源项目。
四、 SVN使用 4.1 VisualSVN Server开始菜单点击VisualSVN Server Manager
1) 添加子容器
Trunk、Tranches、Tags之间的区别: Trunk、Tranches、Tags只是便于用户区分不同类型版本的三个存放目录,为可选项。 Trunk为主流版本容器,用于存放该项目的主流版本,通常一个项目对应一个主流版本。 Branches为分支版本容器,用于存放该项目的分支版本。 在项目开发过程中,经常要开发许多新功能,在开发这些新功能时,常会带来编译错误与bug,影响原有程序的正常执行。因此,SVN为开发这些新功能专门设有Branches存放目录,在新功能足够稳定的情况下,把这些版本融合到主流版本中。 Tags为特殊版本容器,每阶段保存一个版本,作为该软件的里程碑,比如发行版,方便你日后对各发行版bug的修改。 2)添加用户
3)添加组
4)授权
4.2 TortoiseSVN4.2.1 对普通文件夹 的操作
1) 导入 右键工程文件夹,选择TortoiseSVN->Import,选择存放路径,将工程导入服务器容器。
2) 导出 本地新建一个文件夹,右键选择TortoiseSVN->Import,选择源文件路径(位于服务器上)、本地存放路径、牵出深度、版本号等,点击OK。
3) 牵出 本地新建一个文件夹,右键选择SVN Checkout,选择源文件路径(位于服务器上)、本地存放路径、牵出深度、版本号等,点击OK。
4.2.2 对牵出文件夹 的操作
1) 更新 将服务器上最新版本更新到本地,并保存本地的修改。 2) 提交 将本地代码更新到服务器。 3) 建立分支/特殊版本 对新功能的开发可以建立分支版本Branch;对特定阶段的版本,保存为特殊版本tag。 4) 切换版本 主流版本(1)、分支版本(n)、特殊版本(n)之间进行切换。 5) 合并版本 将多个多个版本合并为一个版本
6) 解决冲突 对于一些处于冲突状态下的文件 ,右键TortoiseSVN ->Resolved,解决冲突。
4.3 AnkhSvn
1) 导入工程
2) 更新工程
3) SVN版本管理 同TortoiseSVN操作。
Edit by CHJ Data 2008-10-5 |
|