SVN操作手册.doc

上传人:罗晋 文档编号:12703326 上传时间:2021-12-05 格式:DOC 页数:32 大小:2.27MB
返回 下载 相关 举报
SVN操作手册.doc_第1页
第1页 / 共32页
SVN操作手册.doc_第2页
第2页 / 共32页
SVN操作手册.doc_第3页
第3页 / 共32页
SVN操作手册.doc_第4页
第4页 / 共32页
SVN操作手册.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《SVN操作手册.doc》由会员分享,可在线阅读,更多相关《SVN操作手册.doc(32页珍藏版)》请在三一文库上搜索。

1、SVN 操作手册2011 年 12 月 09 日变更记录变更记录I日期作者说 明2011.12.09殷海峰完成初稿2011.12.11殷海峰冲突的解决以前以 TortoiseSVN 1.4.5.10425 为准,现在以TortoiseSVN-1.6.5.16974 为准目目录录第 1 章第 2 章2.1简介 .1SVN 服务端 .2安装 VisualSVN .22.2 VisualSVN 服务 .32.3版本库 .42.3.12.3.2创建版本库 .5删除版本库 .62.4用户和用户组 .62.4.12.4.22.4.3第 3 章创建用户 .6创建用户组 .7分配权限 .8SVN 客户端 .1

2、13.13.23.33.4安装 TortoiseSVN .11Import(导入) .11Export(导出) .13Checkout(检出) .143.4.1两个版本 .143.53.63.73.83.9删除文件 .15重命名文件 .16增加文件 .16移动文件 .17Commit(提交) .173.9.13.9.23.103.11non-versioned 文件 .18versioned 文件.20Update(更新).21冲突 .223.11.1文件冲突 .22II目录3.11.2树冲突 .273.12Properties(属性) .28III第 1 章简介第 1 章 简介SVN 是 S

3、ubversion 的缩写,它是一款版本管理软件。所谓版本管理软件,首要的功能就是存储文件。此外,它还记录了这些文件的版本信息,用户可以查看各个版本之间的差异,也可以提取某一文件的任一个历史版本。SVN 采用 C/S 结构,即:客户/服务器结构。在客户端,使用的是 TortoiseSVN;在服务器端,如果是 Windows 系统,可以使用 VisualSVN。1第 2 章SVN 服务端第 2 章 SVN 服务端SVN 服务端的配置有多种方案:可以安装 Svnserve 服务,也可以安装 Apache 服务,但最简单的莫过于使用 VisualSVN Server 这个程序。2.1 安装 Visu

4、alSVN运行安装程序,如:VisualSVN-Server-2.1.10.msi。在 Select Components(选择组件)界面下,请选择第一项“VisualSVN Server and Management Console”。单击“Next”按钮。图 2.1选择 VisualSVN 安装组件接下来的界面如下:2第 2 章SVN 服务端图 2.2VisualSVN 安装选项Location 表示 VisualSVN 的安装目录;Repositories 表示版本库的位置。所有文件、代码、版本信息都将存在这里。VisualSVN 服务采用两种协议:http 协议和 https 协议。后

5、者是经过加密的,所以推荐使用它。勾中“Use secure connection(https:/)”复选框就意味着使用https 协议。不管 http 协议还是 https 协议,都需要一个 Server Port(服务端口)。除非这个端口已经被占用,否则请尽量采用默认值。Authentication 表示认证。服务器上版本库的内容不是任何人都可以访问的,需要客户端用户登录后才能访问。用户登录有两种方式:使用 SVN 认证或使用 Windows 认证。推荐使用第一项“Use Subversion authentication”,即 SVN 认证。单击“Next”按钮,再单击“Install”按

6、钮,完成 VisualSVN 的安装。2.2VisualSVN 服务3第 2 章SVN 服务端在 Windows 上安装 VisualSVN 之后,VisualSVN Server 也就被安装并启动了。单击开始菜单的【运行】菜单项,输入 services.msc 后单击“确定”按钮。图 2.3运行 services.mscWindows 显示如下。可以看到 VisualSVN Server 已经被启动。启动类型为“自动”,因此下次启动 Windows 后该服务会自动运行。因此,服务器无需运行 VisualSVN 即可实现客户端对服务器端版本库的访问。图 2.4Windows 服务2.3 版本库

7、版本库就是存放文件、代码及版本信息的地方。服务器针对某一项目创建版本库后,客户端才能访问该项目的文件、代码。因此在服务器上创建、删除版本库是十分重要的工作。4第 2 章SVN 服务端2.3.1 创建版本库运行 VisualSVN,在其主界面下使用鼠标右键单击 Repositories(版本库),在弹出菜单里单击【Create New Repository.】菜单项。图 2.5创建版本库菜单VisualSVN 显示如下界面。请输入新的版本库名称后,单击“OK”按钮即可完成版本库的创建。注意“Create default structure(trunk,branches,tags)”这个复选框,勾

8、中它之后再单击“OK”按钮,将在新建版本库里创建 trunk、branches、tags 这三个子目录。图 2.6创建版本库界面5第 2 章SVN 服务端新建版本库后,VisualSVN 主界面下将能看到这个新建的版本库,详见下图:图 2.7新建的版本库2.3.2 删除版本库在图 2.7中,鼠标右键单击Test版本库,然后在弹出菜单里单击【删除】按钮,即可完成Test版本库的删除。注意:删除版本库是无法撤销的,请谨慎处理。2.4 用户和用户组安装过程的图 2.2中,提到了SVN认证。下面将介绍如何创建用户、用户组,并针对某个版本库给用户、用户组分配权限。这样客户端用户才能输入用户名、密码,完成

9、SVN认证,进而访问自己需要的资料。2.4.1 创建用户假定现在某个软件项目有两组人员:开发组的 D01、D02、D03;测试组的T01、T02、T03。首先增加用户 D01。鼠标右键单击下图的“Users”,在弹出菜单里单击【Create User.】菜单项。6第 2 章SVN 服务端图 2.8创建用户菜单VisualSVN 显示如下界面。请输入 User name(用户名)为 D01,再输入 Password(密码)和 Confirm password(确认密码),单击“OK”按钮即可完成用户 D01 的创建。图 2.9创建用户界面注意上图的“User name and password

10、are case sensitive”,它表示用户名和密码都是区分大小写的。使用相同的方法增加开发组的 D02、D03 和测试组的 T01、T02、T03。2.4.2 创建用户组7第 2 章SVN 服务端下面将创建用户组 Developer,并将用户 D01、D02、D03 加入该组。鼠标右键单击下图的“Groups”,在弹出菜单里单击【Create Group.】菜单项。图 2.10创建用户组菜单VisualSVN 显示如下图所示。请输入 Group name(用户组名)为 Developer,再单击“Add”按钮增加 D01、D02、D03 这三个用户。单击“OK”按钮完成用户组 Deve

11、loper 的创建。图 2.11创建用户组界面使用相同方法可以创建测试组 Tests,并将 T01、T02、T03 加入改组。2.4.3 分配权限8第 2 章SVN 服务端针对 Test 版本库,需要设置开发组 Developer 和测试组 Tests 的权限。鼠标右键单击 Test 版本库,单击弹出菜单中的【Properties.】菜单项。图 2.12设置权限菜单VisualSVN显示如图 2.13所示。首先选择Everyone,将其权限设置为No Access。其用意为:任何人都不能访问Test版本库。然后单击“Add.”按钮,增加Developer和Tests用户组。图 2.13所示界面

12、下,设置Developer的权限为Read/Write,设置Tests的权限为Read Only。这样开发组就可以读写Test版本库,而测试组只能读取Test版本库。假定开发组的D03 是个新手,不允许他进行写操作,则应该再次设置D03的权限。图 2.13中,单击“Add.”按钮,增加D03 用户。然后设置D03 的权限为Read Only。9第 2 章图 2.13SVN 服务端设置权限界面10第 3 章SVN 客户端第 3 章 SVN 客户端SVN 客户端为 TortoiseSVN,安装之后就可以访问服务器端的版本库。读取项目文件、代码,还可以将修改后的文件、代码上传到服务器上,与项目组成员

13、共同维护项目文件、代码。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 资源管理器中,鼠标右键单击要导入的文件夹。在弹出菜单中

14、,单击【TortoiseSVN】下的【Import.】菜单项。图 3.1导入菜单11第 3 章SVN 客户端TortoiseSVN 显示如下界面。在 URL of repository 下输入版本库的地址。在 Import message 下输入导入信息。单击“OK”按钮。图 3.2导入设置界面进入 SVN 认证界面。输入用户名和密码后,单击“OK”按钮完成认证。注意用户名和密码都是区分大小写的。如果觉得每次都要输入用户名和密码比较繁琐,请勾中“Save authentication”复选框。下次 SVN 会自动完成认证。图 3.3认证界面12第 3 章SVN 客户端SVN 完成认证后,会将选

15、定的文件夹内容导入到版本库中。需要说明的是1、一般只是在项目开始的时候才会用到导入功能;2、如果待导入的文件或文件夹在版本库内已经存在,则导入会失败。也就是说不能重复导入;3、目录问题。一次只能导入一个文件夹。假如导入的文件夹为 Folder。导入到版本库时不会有 Folder 这个文件夹;3.3Export(导出)导出就是将项目文档从版本库中提取出来。Windows 资源管理器中,单击鼠标右键。在弹出菜单中,单击【TortoiseSVN】下的【Export.】菜单项。SVN 显示如下。图 3.4导出界面在 URL of repository 下输入版本库的地址。在 Export direct

16、ory 下输入本机存放目录。导出深度有四个选项,分别为:Fully recursive(深度递归):导出指定目录下的文件、各级子目录以及各13第 3 章SVN 客户端级子目录下的文件。也就是全部导出。默认就是选择该项;Immediate children, including folders(直接子节点,包含文件夹):导出指定目录下的文件和一级子目录,但不导出一级子目录内的文件;Only file children(仅文件子节点):只导出指定目录下的文件,不导出一级子目录及一级子目录内的文件。Only this item(仅此项):只导出指定目录。导出后就是一个空目录,没有什么实际意义。Rev

17、ision 是版本的意思。项目组里任何一人修改了文档,上传到服务器上后都会形成一个新的版本,也就会有一个新的版本号。HEAD revision 表示最新的版本,也可以输入指定的版本号。配置好后,单击“OK”按钮。如果本机存放目录不为空,SVN 会弹出如下信息。单击“Yes”继续导出。图 3.5本级目录不为空因为要和服务器通讯,因此与导入一样,需要进行用户认证。认证界面如图3.3所示。完成用户认证后,SVN会将版本库里的文档复制到本机。3.4Checkout(检出)Windows 资源管理器中,单击鼠标右键。在弹出菜单中,单击【SVN Checkout.】菜单项。剩下的步骤与导出大致相同。3.4

18、.1 两个版本既然有导出功能了,还要检出做什么呢?因为与导出不同,检出的文档有两份。一份是用户能看到、修改的文档,被称之为 Working Copy,以下简称 Copy 版;另一份是被隐藏在.SVN 文件夹下的文档,被称之为 Working BASE,14第 3 章SVN 客户端以下简称 BASE 版。假如有 Copy 版的文件 1.txt,则其对应的 BASE 版文件为.svntext-base1.txt.svn-base。1.txt 有两份,被称之为 versioned 文件。如果用户将 2.txt 复制到检出目录,则 2.txt 只有一份,被称之为 non-versioned 文件。当用

19、户修改了 Copy 版的文档,上传到服务器版本库的时候。SVN 会比较Copy 版和 BASE 版有什么不同之处,然后只将用户的修改信息上传至服务器。当用户修改了 Copy 版的文档,该文档的图标会被改变。这也是 SVN 比较Copy 版和 BASE 版的结果。versioned 文件有两个版本,因此对它的删除、重命名、移动必须通过 SVN 来完成,下面几节将介绍这些操作。3.5 删除文件资源管理器中,鼠标右键单击待删除的文件,单击弹出菜单的【TortoiseSVN】【Delete】菜单项即可完成删除操作。图 3.6删除文件15第 3 章SVN 客户端3.6 重命名文件资源管理器中,鼠标右键单

20、击待重命名的文件,单击弹出菜单的【TortoiseSVN】 Rename.】菜单项。SVN 显示如下界面。输入新的文件名后,单击“OK”按钮即可完成重命名操作。图 3.7重命名文件3.7 增加文件检出目录里的 non-versioned 文件可以增加至 BASE,变成 versioned 文件。资源管理器中,选中若干项文件或文件夹。鼠标右键单击某一选中项。单击弹出菜单的【TortoiseSVN】【Add.】菜单项。SVN 显示如下界面。单击“OK”按钮即可完成增加操作。图 3.8增加文件需要注意的是这个增加只是增加到本机的 BASE,而不是直接增加到服务16【第 3 章SVN 客户端器的版本库

21、中。3.8 移动文件资源管理器中,选中若干项文件或文件夹。移动鼠标至某一选中项,按下鼠标右键不放,移动鼠标至目标文件夹再放开鼠标右键。会弹出 SVN 右键菜单。下面两张图片一个是移动多个文件的,一个是移动单个文件的。图 3.9图 3.10移动多个文件移动单个文件SVN Move的含义是移动文件。SVN Copy的含义是复制并增加文件。SVNand rename 是移动或复制文件之后再重命名。3.9Commit(提交)当用户对检出的文档做了修改后,需要将修改信息上传到服务器的版本库里,以便项目组的其它成员共享。这个上传的过程就是提交。Windows 资源管理器中,鼠标右键单击要提交的文件夹。在弹

22、出菜单中,17第 3 章SVN 客户端单击【SVN Commit.】菜单项。SVN 显示如下界面:图 3.11提交界面message 中写入你对项目文档都做了哪些修改。一定要养成填写该项的好习惯,方便项目组其他成员清楚项目都发生了哪些变化。Changes made 下的列表列出了哪些文件被改变了。改变的文件分为两大类:一类是在 Copy 版中存在,但在 BASE 版中不存在的文件,即 non-versioned 文件;另一类是在 BASE 版中存在的文件,即 versioned 文件,其 Text status有可能是 modified(修改)、added(增加)、deleted(删除)列表中

23、勾中要提交的文件,单击“OK”按钮即可完成提交操作。提交过程中可能会产生冲突,其解决方法请参考“冲突”这一节。3.9.1 non-versioned 文件对于 non-versioned 文件,SVN 默认不提交至服务器。下次提交的时候,如18第 3 章SVN 客户端果希望某个 non-versioned 文件不再出现在列表中,其方法就是忽略。提交界面(图 3.11)中,鼠标右键单击一个non-versioned文件夹,弹出菜单中有【Add to ignore list】。它有两个选项,一个是文件夹本身,另一个是*。前者表示忽略该文件夹,下次提交时该文件夹将不再显示在列表里。后者表示忽略所有non-versioned文件,下次提交时所有的non-versioned文件将不再显示在列表里。显然忽略*是应该谨慎使用的。图 3.12忽略文件夹提交界面(图 3.11)中,鼠标右键单击一个non-versioned文件,弹出菜单中有【Add to ignore list】。以下图为例,它有两个选项,一个是文件本身,另一个是*.pch。前者表示忽略该文件,下次提交时该文件将不再显示在列表里。后者表示忽略所有扩展名为pch的non-versioned文件,下次提交时这些文件将不再显示在列表里。应该谨慎使用后者。19第 3 章

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1