SVN图解教程

SVN简介SVN(subversion)是近年来崛起的版本管理工具,是CVS的接班人。目前,绝大多数开源软件都使用SVN作为代码版本管理软件。1.1SVN服务器SVN服务器,支持
强烈推介IDEA2021.1.3破解激活,IntelliJ IDEA 注册码,2021.1.3IDEA 激活码  

 本教程面向普通读者,对于转牛角尖的童鞋请绕行。博客迁至http://www.cnblogs.com/pmastercn

Work With SVN

 

一、    SVN简介

SVN(subversion)是近年来崛起的版本管理工具,是CVS的接班人。目前,绝大多数开源软件都使用SVN作为代码版本管理软件。

1.1 SVN服务器

SVN服务器,支持linuxwindows,更多是安装在Linux下。

SVN服务器有2种运行方式:独立服务器和借助apache。2种方式各有利弊。

SVN存储版本数据也有2种方式:BDBFSFS。因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点。

 

1.2 SVN客户端

  Subversion的客户端有两类,一类是websvn等基于web的,一种是以TortoiseSVN为代表的客户端软件。前者需要web服务器的支持,后者需要用户在本地安装客户端。

 

1.3 SVN插件

   AnkhSVN是一款在VS中管理Subversion的插件,您可以在VS中轻松的提交、更新、添加文件,而不用在命令行或资源管理器中提交。

 

二、    软件比较

SVN属于开源项目,运用广、版本多,版本之间相差大。下表列出了主要的SVN服务器、客户端、SVN运用于VS上的插件。

 

软件

描述

选择

SVN服务器

Subversion

版本控制器

 

VisualSVN Server

版本控制、用户及权限管理

SVN客户端

TortoiseSVN

版本控制客户端网络版

WebSVN

版本控制客户端桌面版

 

SVN插件

VisualSVN

一款在VS中管理Subversion的插件(收费)

 

AnkhSvn

一款在VS中管理Subversion的插件

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  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,解决冲突。

 

4.3  AnkhSvn

 

1)      导入工程

 

2)      更新工程

 

 

3)      SVN版本管理

同TortoiseSVN操作。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Edit by CHJ

Data 2008-10-5

本文来源,由架构君转载发布,观点不代表Java架构师必看的立场,转载请标明来源出处:https://javajgs.com/archives/42088
0

发表评论