转自:http://www.360doc.com/content/11/0724/14/3810344_135547986.shtml#,谢谢原作者~
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服务器的支持,后者需要用户在本地安装客户端。
二、 软件比较
SVN属于开源项目,运用广、版本多,版本之间相差大。下表列出了主要的SVN服务器、客户端、SVN运用于VS上的插件。
| 软件 | 描述 | 选择 |
SVN服务器 | Subversion | 版本控制器 |
|
VisualSVN Server | 版本控制、用户及权限管理 | √ | |
SVN客户端 | TortoiseSVN | 版本控制客户端网络版 | √ |
WebSVN | 版本控制客户端桌面版 |
| |
SVN插件 | VisualSVN | 一款在VS中管理Subversion的插件(收费) |
|
AnkhSvn | 一款在VS中管理Subversion的插件 | √ |
2.2 TortoiseSVN与WebSVN比较
TortoiseSVN为SVN客户端桌面版,具有用户群广,使用简便,各版本较为稳定等特点。本项目中选择TortoiseSVN作为SVN客户端软件。
三、 安装与配置
3.1 软件准备
TortoiseSVN:Subversion客户端。
3.3 TortoiseSVN安装
TortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器。你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改。这就是为什么许多人将 Subversion 和版本控制系统看作一种“时间机器”。
四、 SVN使用
4.2 TortoiseSVN
4.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,解决冲突。
3) SVN版本管理
同TortoiseSVN操作。
补充:svn ignore的前提是这个文件不在版本库里。