当前位置:文档之家› SVN操作手册

SVN操作手册

SVN操作手册
SVN操作手册

SVN操作手册2011年12月09日

变更记录变更记录

I

目录

第1章

第2章2.1

简介 (1)

SVN服务端 (2)

安装VisualSVN (2)

2.2 VisualSVN服务 (3)

2.3 版本库 (4)

2.3.1 2.3.2 创建版本库 (5)

删除版本库 (6)

2.4 用户和用户组 (6)

2.4.1

2.4.2

2.4.3 第3章

创建用户 (6)

创建用户组 (7)

分配权限 (8)

SVN客户端 (11)

3.1 3.2 3.3 3.4 安装TortoiseSVN (11)

Import(导入) (11)

Export(导出) (13)

Checkout(检出) (14)

3.4.1 两个版本 (14)

3.5 3.6 3.7 3.8 3.9 删除文件 (15)

重命名文件 (16)

增加文件 (16)

移动文件 (17)

Commit(提交) (17)

3.9.1 3.9.2 3.10 3.11

non-versioned文件 (18)

versioned文件 (20)

Update(更新) (21)

冲突 (22)

3.11.1 文件冲突 (22)

II

3.11.2 树冲突 (27)

3.12 Properties(属性) (28)

III

第1章简介

第1章简介

SVN是Subversion的缩写,它是一款版本管理软件。所谓版本管理软件,首要的功能就是存储文件。此外,它还记录了这些文件的版本信息,用户可以

查看各个版本之间的差异,也可以提取某一文件的任一个历史版本。

SVN采用C/S结构,即:客户/服务器结构。在客户端,使用的是Tortoise SVN;在服务器端,如果是Windows系统,可以使用VisualSVN。

1

第2章SVN服务端

SVN服务端的配置有多种方案:可以安装Svnserve服务,也可以安装Ap ache服务,但最简单的莫过于使用VisualSVN Server这个程序。

2.1安装VisualSVN

运行安装程序,如:VisualSVN-Server-2.1.10.msi。在Select Components (选择组件)界面下,请选择第一项“VisualSVN Server and Management Co nsole”。单击“Next”按钮。

图 2.1 选择VisualSVN安装组件

接下来的界面如下:

2

图 2.2 VisualSVN安装选项

Location表示VisualSVN的安装目录;

Repositories表示版本库的位置。所有文件、代码、版本信息都将存在这里。

VisualSVN服务采用两种协议:http协议和https协议。后者是经过加密的,所以推荐使用它。勾中“Use secure connection(https://)”复选框就意味着使用https协议。

不管http协议还是https协议,都需要一个Server Port(服务端口)。除非这个端口已经被占用,否则请尽量采用默认值。

Authentication表示认证。服务器上版本库的内容不是任何人都可以访问

的,需要客户端用户登录后才能访问。用户登录有两种方式:使用SVN认证或使用Windows认证。推荐使用第一项“Use Subversion authentication”,即SV

N认证。

单击“Next”按钮,再单击“Install”按钮,完成VisualSVN的安装。

2.2 VisualSVN服务

3

在Windows上安装VisualSVN之后,VisualSVN Server也就被安装并启动了。单击开始菜单的【运行】菜单项,输入services.msc后单击“确定”按钮。

图 2.3 运行services.msc

Windows显示如下。可以看到VisualSVN Server已经被启动。启动类型为“自动”,因此下次启动Windows后该服务会自动运行。因此,服务器无需运行VisualSVN即可实现客户端对服务器端版本库的访问。

图 2.4 Windows服务

2.3版本库

版本库就是存放文件、代码及版本信息的地方。服务器针对某一项目创建

版本库后,客户端才能访问该项目的文件、代码。因此在服务器上创建、删除

版本库是十分重要的工作。

4

2.3.1创建版本库

运行VisualSVN,在其主界面下使用鼠标右键单击Repositories(版本库),在弹出菜单里单击【Create New Repository...】菜单项。

图 2.5 创建版本库菜单

VisualSVN显示如下界面。请输入新的版本库名称后,单击“OK”按钮即可完成版本库的创建。注意“Create default structure(trunk,branches,tags)”这个

复选框,勾中它之后再单击“OK”按钮,将在新建版本库里创建trunk、branc hes、tags这三个子目录。

图 2.6 创建版本库界面

5

新建版本库后,VisualSVN主界面下将能看到这个新建的版本库,详见下图:

图 2.7 新建的版本库

2.3.2删除版本库

在图2.7中,鼠标右键单击Test版本库,然后在弹出菜单里单击【删除】按钮,即可完成Test版本库的删除。注意:删除版本库是无法撤销的,请谨慎处理。

2.4用户和用户组

安装过程的图 2.2中,提到了SVN认证。下面将介绍如何创建用户、用户组,并针对某个版本库给用户、用户组分配权限。这样客户端用户才能输入用户名、密码,完成SVN认证,进而访问自己需要的资料。

2.4.1创建用户

假定现在某个软件项目有两组人员:开发组的D01、D02、D03;测试组的

T01、T02、T03。首先增加用户D01。鼠标右键单击下图的“Users”,在弹出

菜单里单击【Create User...】菜单项。

6

图 2.8 创建用户菜单

VisualSVN显示如下界面。请输入User name(用户名)为D01,再输入P assword(密码)和Confirm password(确认密码),单击“OK”按钮即可完成用户D01的创建。

图 2.9 创建用户界面

注意上图的“User name and password are case sensitive”,它表示用户名

和密码都是区分大小写的。

使用相同的方法增加开发组的D02、D03和测试组的T01、T02、T03。2.4.2创建用户组

7

下面将创建用户组Developer,并将用户D01、D02、D03加入该组。鼠标右键单击下图的“Groups”,在弹出菜单里单击【Create Group...】菜单项。

图 2.10 创建用户组菜单

VisualSVN显示如下图所示。请输入Group name(用户组名)为Develop er,再单击“Add”按钮增加D01、D02、D03这三个用户。单击“OK”按钮完成用户组Developer的创建。

图 2.11 创建用户组界面

使用相同方法可以创建测试组Tests,并将T01、T02、T03加入改组。2.4.3分配权限

8

针对Test版本库,需要设置开发组Developer和测试组Tests的权限。鼠标右键单击Test版本库,单击弹出菜单中的【Properties...】菜单项。

图 2.12 设置权限菜单

VisualSVN显示如图2.13所示。首先选择Everyone,将其权限设置为No Ac cess。其用意为:任何人都不能访问Test版本库。然后单击“Add...”按钮,增

加Developer和Tests用户组。图 2.13所示界面下,设置Developer的权限为Read/ Write,设置Tests的权限为Read Only。这样开发组就可以读写Test版本库,而测

试组只能读取Test版本库。

假定开发组的D03是个新手,不允许他进行写操作,则应该再次设置D03

的权限。图2.13中,单击“Add...”按钮,增加D03用户。然后设置D03的权限为Read Only。

9

图 2.13 设置权限界面

10

第3章SVN客户端

SVN客户端为TortoiseSVN,安装之后就可以访问服务器端的版本库。读

取项目文件、代码,还可以将修改后的文件、代码上传到服务器上,与项目组

成员共同维护项目文件、代码。

3.1安装TortoiseSVN

运行安装程序,如:TortoiseSVN-1.6.5.16974-win32-svn-1.6.5.msi。其安装

步骤比较简单,这里就不赘述了。下文的讲解以该版本为准。

如果需要,可以安装TortoiseSVN的简体中文语言包,如:LanguagePack_ 1.6.5.16974-win32-zh_CN.msi。这样,使用TortoiseSVN时就可以灵活设置语言。

3.2 Import(导入)

导入、导出是以服务器上的版本库为中心的。导入就是将项目文档写入版

本库。Windows资源管理器中,鼠标右键单击要导入的文件夹。在弹出菜单中,单击【TortoiseSVN】下的【Import...】菜单项。

图 3.1 导入菜单

11

TortoiseSVN显示如下界面。在URL of repository下输入版本库的地址。在Import message下输入导入信息。单击“OK”按钮。

图 3.2 导入设置界面

进入SVN认证界面。输入用户名和密码后,单击“OK”按钮完成认证。注意用户名和密码都是区分大小写的。如果觉得每次都要输入用户名和密码比较繁琐,请勾中“Save authentication”复选框。下次SVN会自动完成认证。

图 3.3 认证界面

12

SVN完成认证后,会将选定的文件夹内容导入到版本库中。

需要说明的是

1、一般只是在项目开始的时候才会用到导入功能;

2、如果待导入的文件或文件夹在版本库内已经存在,则导入会失败。也就是说不能重复导入;

3、目录问题。一次只能导入一个文件夹。假如导入的文件夹为Folder。导入到版本库时不会有Folder这个文件夹;

3.3 Export(导出)

导出就是将项目文档从版本库中提取出来。Windows资源管理器中,单击鼠标右键。在弹出菜单中,单击【TortoiseSVN】下的【Export...】菜单项。SV N显示如下。

图 3.4 导出界面

在URL of repository下输入版本库的地址。在Export directory下输入本机存放目录。导出深度有四个选项,分别为:

Fully recursive(深度递归):导出指定目录下的文件、各级子目录以及各

13

级子目录下的文件。也就是全部导出。默认就是选择该项;

Immediate children, including folders(直接子节点,包含文件夹):导出指定目录下的文件和一级子目录,但不导出一级子目录内的文件;

Only file children(仅文件子节点):只导出指定目录下的文件,不导出一级子目录及一级子目录内的文件。

Only this item(仅此项):只导出指定目录。导出后就是一个空目录,没

有什么实际意义。

Revision是版本的意思。项目组里任何一人修改了文档,上传到服务器上后都会形成一个新的版本,也就会有一个新的版本号。HEAD revision表示最

新的版本,也可以输入指定的版本号。

配置好后,单击“OK”按钮。

如果本机存放目录不为空,SVN会弹出如下信息。单击“Yes”继续导出。

图 3.5 本级目录不为空

因为要和服务器通讯,因此与导入一样,需要进行用户认证。认证界面如图3.3所示。完成用户认证后,SVN会将版本库里的文档复制到本机。

3.4 Checkout(检出)

Windows资源管理器中,单击鼠标右键。在弹出菜单中,单击【SVN Che ckout...】菜单项。剩下的步骤与导出大致相同。

3.4.1两个版本

既然有导出功能了,还要检出做什么呢?因为与导出不同,检出的文档有两份。一份是用户能看到、修改的文档,被称之为Working Copy,以下简称 C opy版;另一份是被隐藏在.SVN文件夹下的文档,被称之为Working BASE,

14

以下简称BASE版。假如有Copy版的文件 1.txt,则其对应的BASE版文件为. svn\text-base\1.txt.svn-base。1.txt有两份,被称之为versioned文件。如果用户

将2.txt复制到检出目录,则 2.txt只有一份,被称之为non-versioned文件。

当用户修改了Copy版的文档,上传到服务器版本库的时候。SVN会比较Copy版和BASE版有什么不同之处,然后只将用户的修改信息上传至服务器。

当用户修改了Copy版的文档,该文档的图标会被改变。这也是SVN比较Copy版和BASE版的结果。

versioned文件有两个版本,因此对它的删除、重命名、移动必须通过SV

N来完成,下面几节将介绍这些操作。

3.5删除文件

资源管理器中,鼠标右键单击待删除的文件,单击弹出菜单的【TortoiseS VN】【Delete】菜单项即可完成删除操作。

图 3.6 删除文件

15

3.6 重命名文件

资源管理器中,鼠标右键单击待重命名的文件,单击弹出菜单的【Tortois eSVN 】 Rename...】菜单项。SVN 显示如下界面。输入新的文件名后,单击“O K ”按钮即可完成重命名操作。

图 3.7

重命名文件

3.7 增加文件

检出目录里的 non-versioned 文件可以增加至 BASE ,变成 versioned 文件。 资源管理器中,选中若干项文件或文件夹。鼠标右键单击某一选中项。单 击弹出菜单的【TortoiseSVN 】【Add...】菜单项。SVN 显示如下界面。单击“O

K ”按钮即可完成增加操作。

图 3.8

增加文件

需要注意的是这个增加只是增加到本机的 BASE ,而不是直接增加到服务

16

相关主题
文本预览
相关文档 最新文档