TortoiseSVN使用指南

TortoiseSVN使用指南
TortoiseSVN使用指南

TortoiseSVN使用指南

目录

1.引言 (1)

1.1目的 (1)

1.2范围 (1)

2. SVN基础知识 (1)

2.1 SVN简介 (1)

2.2 SVN特性 (1)

3. SVN基本应用 (2)

3.1 TortoiseSVN 最快入门 (2)

3.2客户端的安装 (3)

3.3 SVN服务器端登录 (6)

3.3.1 Repo-browser 版本库浏览 (7)

3.3.2 Create repository here 创建版本库 (9)

3.3.3 SVN Checkout 检出到工作目录 (9)

3.3.4 Import 导入 (11)

3.3.5 Settings 设置 (11)

3.4 版本库基本操作 (12)

3.4.1 Show log 查看日志 (12)

3.4.2 Revision graph 版本树显示 (13)

3.4.3 Export 导出 (13)

3.4.4 Check out 检出 (14)

3.4.5 Refresh 刷新 (15)

3.4.6 Add file(folder) 添加文件(文件夹) (15)

3.4.7 Rename 对目录或文件进行改名 (15)

3.4.8 Delete 删除 (15)

3.4.9 Copy to working copy 把当前目录拷贝到本地工作拷贝 (16)

3.4.10 Copy to working copy 拷贝到 (18)

3.5 客户端操作 (18)

3.5.1 客户端的基本操作 (18)

3.5.2 常用功能介绍 (20)

3.5.2.1 Update to revision 返回到版本 (20)

3.5.2.2 Revert返回上一级 (21)

3.5.2.3 SVN Update更新 (21)

3.5.2.4 Resolved冲突已解决 (21)

3.5.2.5 Switch切换 (23)

3.5.2.6 Relocate重新定位 (23)

3.5.2.7 Add添加 (23)

3.5.2.8 Create(Apply) patch 创建应用补丁 (23)

3.6 分支与合并 (24)

3.6.1 常用功能介绍 (24)

3.6.2 分支的建立 (25)

3.6.3 分支的合并 (27)

1.引言

1.1目的

为了对配置管理工具(Subversion,以下简称为SVN)应用过程提供指导,编制此指南。

1.2范围

本规范适应于国美电器有限公司电子商务部内部使用。

2. SVN基础知识

2.1 SVN简介

SVN 全名是 Subversion,它是一个开源的版本控制软件,与它类似的软件有 CVS,VSS,ClearCase。只要接触过团队开发,对这类软件肯定不会陌生。而SVN 作为一个跨平台的开源软件,具有很强的活力,目前也已经相当成熟,很多开源项目都用它来管理文档或是代码。

更为重要的是,不仅仅是团队开发,作为个人独立开发的项目(或者个人想维护的文档)也可以用 SVN 进行管理,而不需要另外一台服务器。

TortoiseSVN 是 SVN 的一个 Windows 外壳扩展应用,它可以帮助用户直观的进行 SVN 的各种操作,而不需要使用命令行。作为个人用户,只要安装TortoiseSVN 即可,而不用再去安装配置 SVN。

2.2 SVN特性

版本化目录

SVN 实现的“虚拟”版本化文件系统可以跟踪目录树的变更。也就是说,在SVN 中,文件和目录都是版本化的。

真实的版本历史

由于实现了文件和目录的版本化,SVN 可以记录如文件拷贝和改名这些常见操作带来的版本变更,即在SVN 中,对文件或目录都可以进行增加、拷贝和操作,并有版本历史记录。

原子提交

一系列相关的更改,要么全部提交到版本库,要么一个也不提交,这样用户就可以将相关的更改组成一个逻辑整体,防止出现部分修改需另一部分未修改的情况提交到版本库中。

可选的网络层

SVN 在版本库访问的实现上具有较高的抽象程度,利于人们实现新的网络访问机制。SVN 可以作为一个扩展模块嵌入到Apache 之中,这种方式在稳定性和交互性方面有很大的优势,可以直接使用服务器的成熟技术----认证、授权和传输压缩等。此外,SVN 自身也实现了一个轻型的、可独立运行的服务器软件。这个服务器使用了一个特定的协议,这个协议可以轻松用SSH 封装。我们目前选用的是SVN 自身的服务器,即Svnserver 方式,本文主要是对Svnserver 方式的使用方法介绍。

一致的数据操作

SVN 用一个二进制差算法描述文件和变化,对于文件(可读)和二进行制(不可读)文件其操作方式是一致的。这两种类型的文件压缩存储在版本库中,而差异信息则在网络上双向传递。

高效的分支和标签操作

在SVN 中,分支与标签操作的开销与工程的大小无关,SVN 的分支和标签操作是一种类似于硬链接的机制拷贝整个工程。因而这些操作通常只会花费很少且相对固定的时间。

可修改性

SVN 没有历史负担,它以一系列优质的共享C 程序库的方式实现,具有定义良好的API。

3. SVN基本应用

3.1 TortoiseSVN 最快入门

下载TortoiseSVN

安装

找个空间大的磁盘,建立一个目录,例如MYSVN。

指着这个目录单击右键,选择在此创建版本库。

指到实际工作目录,右键,选择导入,将已经存在的代码导入到版本库。

3.2客户端的安装

TortoiseSVN 的官方主页:https://www.360docs.net/doc/e817407651.html,,首先下载当前版本的TortoiseSVN,希望能有中文界面的还可以选择语言包下载。同时在语言包旁边,你还可以看到中文的使用手册。

安装TortoiseSVN 非常简单,在结束后会提示重启,这是因为TortoiseSVN 与资源管理器整合,它的图标功能需要重启后才能使用,所以建议这里重启一下。

点击“Yes”重启电脑,完成安装。

3.3 SVN服务器端登录

完成安装之后,点击鼠标右键,会出现下图,这就是SVN的基本功能,下面对其做一一介绍。

3.3.1 Repo-browser 版本库浏览

这个是版本库的浏览工具,点击Repo-browser之后,会出现下面的小对话框:

在里面输入你要链接的版本库,输入方法为:svn://服务器IP /所在版本库名称,如合力金桥项目组的配置库为:svn://10.57.0.121/trunk/cc(记得svn 是小写字母的),点“OK”进入登录界面。如果以前有登录过,SVN 会自动记录登录历史。登录界面如下:

输入用户名和密码即可进入所在的版本库。登录账号由配置管理员分配,客户端不能修改密码,建议选择“Save authentication”,这样下次不用输入账号便会自动登录,且在版本库里面的每一个操作也不用输入账号来进行验证。登录后的界面如下:

这是合力金桥CC项目目录示例。

3.3.2 Create repository here 创建版本库

这一步是演示在自己机器上安装SVN版本库,在实际开发时,是会使用SVN 服务器上的版本库,这步是不必要的。

首先,我们要新建一个文件夹来保存 SVN 的数据,比如我们建立了一个空文件夹:"D:\MySVN"。在这个文件夹图标上点击右键,在菜单中选择:Create repository here,很快就会提示建立完成。

这个时候,你会发现这个文件夹里面会增加好多文件,它将保存你的用户权限的设置以及所有的代码信息。现在不用管它,按照默认设置就可以很好工作。以后如果要在另外一台机器上修改代码,或者希望别人也能使用你的代码库,只要把这个文件夹复制过去就行。备份也是如此。

注:从网上看早期的教程,那些文章在这一步会提到选择 Berkeley 数据库(BDB)或者本地文件系统(FSFS)。但是从 SVN 1.5 版本开始,已经取消了 BDB 的选择,直接默认的就是 FSFS。

注:为了避免因为多字节字符造成的种种问题,建议把版本库的路径和名字不要含有中文或者空格。这个问题虽然可能随着软件的升级得到解决,不过目前看来,有时还会出问题。不过这个问题仅限于版本库,受管理的代码和目录可以任意取名。

3.3.3 SVN Checkout 检出到工作目录

完成上一步后,我们已经建立了一个代码仓库,下面就是要设置工作目录。工作目录一般来讲,就是存放了当前最新版本的代码,程序的编写和修改都在这个目录完成。比如我们在桌面选择一个文件夹,名叫Project。在这个文件夹图标上,点击右键,选择:SVN Checkout。

然后在版本库 URL 中选择刚才创建的版本库:file:///D:/MySVN,在实际开发中,要使用SVN服务器上的版本库,例如svn://x.x.x.x/pdd。点击确定,就开始从版本库中获取代码了。

自然,因为我们版本库是空的,所有什么代码也没有。如果你打开隐藏文件显示,会发现多了一个 .svn 的文件夹,它存放的是本地文件版本控制的信息,不要删除或者修改它,以后工作目录的每层路径都会有 .svn 文件夹。为了防止误删这个文件夹,我们不显示隐藏文件。

刷新一下桌面,会发现我们的 Project 文件的图标左下角会多出一个绿色的对号,这表明它已经纳入了版本控制。

注:你可以在任何地方多次检出。

3.3.4 Import 导入

导入是一种批量向服务器上添加文件的方法,如果你想把本地的文件或文件夹添加到服务器上的某个目录下面,那么在本地的目录中,在空白处右键TortoisrSVN—Import,会跳出下面的对话框:

点“OK”后就可以把本地的文件或文件夹导入到服务器端所选目录下面。值得注意的是,本机导入到目标服务器上之后,本机目录并没有改变,也并不是工作拷贝,如果要对文件再做修改并能提交到服务器上的话,必须先从服务器上把文件“checkout”出来之后,再做修改提交(即必须先建立本地工作拷贝)。

3.3.5 Settings 设置

在 TortoiseSVN --> Settings 中可以选择语言。TortoiseSVN 的所有操作都是通过右键菜单来完成的。

3.4 版本库基本操作

3.4.1 Show log 查看日志

点击此按钮,会显示当前目录下的所有文件和目录日志的信息。会跳

出下面的对话框。

3.4.2 Revision graph 版本树显示

它可以把对此目录所做的所有操作以图的形式显示出来,并可以记录

每一步都进行了什么操作,相当于”Show log”的一个图解。

3.4.3 Export 导出

用此命令,指定路径,便可导出一个干净的目录树,所谓“干净的”就是导出的文件不受SVN的版本控制。默认的是导出当前版本的目录内容,当然也可以指定你想导出的版本。如图所示:在Export directory中选择本地的路径。

3.4.4 Check out 检出

用此命令可以从服务器导出选中的目录到本地工作拷贝(本机),它和Export的区别在于,检出的文件受版本控制,如下图所示:

3.4.5 Refresh 刷新

刷新服务器端目录。

3.4.6 Add file(folder) 添加文件(文件夹)

用此命令可以向服务器端目录添加一个本地的文件或文件夹。

3.4.7 Rename 对目录或文件进行改名

如果要对文件进行改名,要在服务器端对文件或文件夹用Rename命令,改完后在本地工作拷贝的上级目录执行“Commit”即可。可以在本地用右键,使用TSVN的菜单改名,提交后效果一样。

3.4.8 Delete 删除

对目录或文件都可以进行删除操作,删除后版本号增加,可以通过“show log”找出已经删除的文件,并且可以看到文件夹变成:

注意:文件在自己的工作副本中删除了,必须执行commit,文件才算是真正的删除了。

3.4.9 Copy to working copy 把当前目录拷贝到本地工作拷贝

本地工作拷贝必须是已经受版本控制的文件夹,执行此命令后,当前目录便会在本地工作拷贝显示预添加的符号。如:把“信息平台”执行Copy to working copy到本地工作拷贝的“0过程记录”中,就会出现下图,绿色的对号表示此目录是从服务器上“Checkout”出来的受版本控制的本地工作拷贝,蓝色的加号表示此文件预添加到服务器上。

这时,在此目录空白处或选中“信息平台”文件夹,右键执行“SVN Commit”命令如下图所示:

“信息平台”便会成功提交到服务器上“0过程记录”的目录下面。如下图所示:

3.4.10 Copy to working copy 拷贝到……

用此命令可以在当前版本库中建立分支(标签/基线),SVN 允许并行的维护文件和目录的分支,各个分支间互相联系,也可以从一个分支复制修改到另一个分支,最终,可以让本地工作拷贝反映到不同的分支上,所以在日常的工作中,可以“混合和比较”不同的开发线。

3.5 客户端操作

3.5.1 客户端的基本操作

在本地工作拷贝空白处点击右键会出现如下图所示,下面对此菜单中常用的功能做详细的介绍。

相关主题
相关文档
最新文档