作者: 北京群英汇信息技术有限公司
网址: http://www.ossxp.com/
版本: 0.1-35
日期: 2011-07-05 10:51:59
版权信息:

SVN的内容很多,即使其简明手册浓缩在一页纸很难,但是用一张超大的纸也许可以装得下。下面就是Windows平台下TortoiseSVN的简明操作手册,关于SVN的更多内容参见群英汇的SVN培训讲义或如下SVN官方文档。

1   安装TortoiseSVN

TortoiseSVN简称TSVN,是在Windows平台上广泛使用的Subversion(SVN)客户端。该软件的标识是一只小乌龟(Tortoise),可以从 TSVN官方网站 下载TSVN软件的最新版。

  1. 下载并安装TSVN。

    TSVN安装包有32位和64位两个版本,下载安装前先确认你Windows的版本(注意不是Windows XP和Windows 7的版本,而是由所支持的CPU指令架构是32位还是64位决定),如果不确定就先试试32位版本吧。

  2. 下载并安装中文语言包。

    同样中文语言包也有32位和64位之分,根据你操作系统的版本进行选择。

  3. 先安装TSVN,再安装中文语言包,然后设置TSVN,将默认语种设置为中文。

    设置方法如下:

    • 在资源管理器中单击鼠标右键,弹出菜单参见图1。

      图1:资源管理器右键弹出菜单

    • 设置语种为中文。参见图2。

      图2:设置TSVN语种

2   使用需知

TSVN是一个和Windows的资源管理器整合的应用,可从资源管理器、Windows的文件打开对话框甚至桌面上,通过单击鼠标右键,从弹出的右键菜单中调用相应功能。

使用TSVN前,需要从管理员那里确认:

  1. SVN版本库的地址是什么?例如: https://svn.ossxp.com/svn/demo
  2. 您的用户名和口令。

3   TSVN的使用

3.1   浏览远程版本库

项目的SVN版本库中可能包含非常多的文件,且开发主线、分支、里程碑都作为独立的目录存在,因此从项目的根目录检出版本库不是一个好主意。可以利用TSVN的远程版本库浏览功能,先看看版本库都有什么内容,然后根据需要检出。

  1. 在资源管理器中的右键菜单选择“版本库浏览器”,如图3所示。

    图3:右键菜单中选中版本库浏览器

  2. 在弹出的URL地址录入框中输入版本库地址,如图4所示。

    图4:输入版本库URL地址

  3. 因为连接的是HTTPS协议的SVN版本库,会询问是否接受HTTPS网站证书。选择总是接受,则以后访问任何该服务器上的版本库都不会再弹出类似证书确认对话框了。如图5所示。

    图5:HTTPS网站证书确认

  4. 在弹出的认证对话框中输入SVN服务器登录的用户名和口令。如图6所示。

    图6:输入用户名和口令

  5. 显示远程版本库的目录树。从图7可以看出该版本库有三个顶级目录,分别是:trunk(主线目录),branches(保存分支的根目录),tags(保存里程碑的根目录)。

    图7:输入用户名和口令

  6. 可以直接通过版本库浏览器打开文件查看,或者进行其他操作,参见图8。

    图8:直接通过版本库浏览器打开文件

3.2   检出远程版本库到工作区

虽然可以通过版本库浏览器直接查看远程版本库中的文件,甚至可以删除远程版本库的文件,但是如果要修改版本库中的文件,并将修改后的文件更新到远程版本库中,首先就需要用到SVN的检出命令。

检出动作就是将远程版本库的目录检出到本地的一个目录中。这个检出动作的目标目录(本地目录)称为本地工作区目录。

  1. 在资源管理器的右键菜单中选择”SVN检出“,或通过版本库浏览器选择要检出的目录,点击鼠标右键,如图9所示。

    图9:版本库浏览器中的右键菜单

  2. 弹出的检出对话框,确认正确填写了版本库URL和目标目录(即标记为”检出至目录“)。如图10。

    图10:检出对话框

  3. 检出一旦开始,显示检出的整个过程。检出的速度视网络带宽和数据下载量而异。如图11。

    图11:检出过程

  4. 检出后,工作区目录下的文件和目录的图标会叠加上TSVN的标识,可以很容易的识别哪些文件被改动过,哪些文件是本地新增尚未添加到版本库等。

    图12还显示出一个隐藏的目录 ".svn",在工作区的每一个子目录下都存在这个 ".svn" 目录,注意不要擅自改动该目录下的内容,更不能删除该目录。

    图12:检出后的本地工作区

  5. 图13显示的是工作区文件修改后,文件、目录图标的变化。

    图13:工作区文件改动后图标的改变

3.3   文件提交

在工作区中对文件进行了修改、增、删等操作后,如果想将改动更新至远程服务器,需要执行提交操作。

  1. 选择通过右键菜单中的提交动作,如图14所示。

    图14:右键菜单中的提交

  2. 默认只有修改或其他已经被TSVN标识的文件被提交。如图15所示,本地新增和删除的文件因为尚未标识,缺省不进行提交。

    图15:提交对话框

  3. 选择本地删除的文件,通过右键菜单标记为删除,如图16所示。

    图16:将本地删除的文件标记为删除。

  4. 选择本地新增的文件,通过右键菜单标记为新增,如图17所示。

    图17:将本地添加的文件标记为新增。

  5. 不要忘了撰写提交说明,如图18所示。

    提交说明可以:为什么要修改这些文件,为什么要这么改,以及解决了什么问题,如有可能把相应的Bug编号也写上。

    注意因为提交本身会自动记录谁、在什么时间、修改了哪些文件,因此这类信息没有必要放在提交说明中,以免造成不必要的重复。

    图18:撰写提交说明,点击提交按钮

3.4   提交日志

在提交日志中可以看到包括最新提交在内的历次提交记录,点击右键菜单的中的”显示日志“即可。

图19:提交日志

3.5   反删除文件

文件检入到版本库中便被永久记录,即使用户在客户端删除文件并提交,也只是在版本库最新提交中去掉了该文件,但在历史提交中文件仍然存在。SVN提供了恢复被删除文件的功能,用TSVN操作非常的简单。

  1. 在工作区进入到浏览提交日志的界面,找到删除文件的提交,右键点击被删除的文件弹出菜单中有”复原此版本作出的修改“一项,如图20所示。

    图20:从工作区进入到浏览提交日志的界面

  2. 当点击”复原此版本作出的修改“后,TSVN弹出确认对话框,如图21所示。

    图21:确认文件恢复的对话框

  3. 显示反删除的过程,如图22所示。

    图22:反删除过程显示

  4. 经过上面操作后,曾经被删除的文件被找回,重新出现在工作区中。图23显示找回的文件的图标叠加了一个加号。

    图23:曾经的删除文件被找回

  5. 反删除的最后一步就是执行提交,将反删除的文件提交到服务器上,这样才真正完成文件的反删除。

    图24:提交完成文件反删除

SVN快速入门(TSVN)的更多相关文章

  1. SVN快速入门笔记【转】

    1. SVN版本控制软件目的 协作开发 远程开发 版本回退 2. 什么是SVN subVersion 支持平台操作 支持版本回退 3. 获取SVN软件 属于C/S结构软件(客户端与服务端) serve ...

  2. SVN 快速入门

    一.SVN 简介 (1) SVN 是 Subversion 的缩写,是一个开源的版本控制系统(2) SVN 基于 C/S 架构,有一台中央服务器,多台客户端通过网络从中央服务器拉取或提交代码,以此达到 ...

  3. SVN 快速入门!

    输入账户密码即可!

  4. GitHub新手快速入门日常操作流程

    GitHub新手快速入门日常操作流程 1. 注册帐号 打开https://github.com/,填写注册信息并提交. 2. 登录帐号 打开https://github.com/login,输入注册的 ...

  5. 快速入门系列--MVC--07与HTML5移动开发的结合

    现在移动互联网的盛行,跨平台并兼容不同设备的HTML5越来越盛行,很多公司都在将自己过去的非HTML5网站应用渐进式的转化为HTML5应用,使得一套代码可以兼容不同的物理终端设备和浏览器,极大的提高了 ...

  6. Github快速入门手册

    最近在试用Github,开源的思想也让人觉得把一些经验分享出来是非常好的事情.附件是doc文件,如有需要请注意查收.希望能对你有帮助. GITHUB基于互联网的版本控制快速入门手册 如有不妥,欢迎指正 ...

  7. 【云计算】Dockerfile、镜像、容器快速入门

    Dockerfile.镜像.容器快速入门 1.1.Dockerfile书写示例 Dockerfile可以用来生成Docker镜像,它明确的定义了Image的生成过程.虽然直接修改容器也可以提交生成镜像 ...

  8. Git快速入门和常用命令

    一.快速入门 本地初始化一个项目 首先,你需要执行下面两条命令,作为 git 的基础配置,作用是告诉 git 你是谁,你输入的信息将出现在你创建的提交中. git config --global us ...

  9. .NET Core实战项目之CMS 第四章 入门篇-Git的快速入门及实战演练

    写在前面 上篇文章我带着大家通过分析了一遍ASP.NET Core的源码了解了它的启动过程,然后又带着大家熟悉了一遍配置文件的加载方式,最后引出了依赖注入以及控制反转的概念!如果大家把前面几张都理解了 ...

随机推荐

  1. hdu 4612 Warm up 双连通+树形dp思想

    Warm up Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others) Total S ...

  2. D_S 顺序栈的基本操作

    //  main.cpp #include <iostream> using namespace std; #include "Status.h" typedef in ...

  3. ZooKeeper系列4:ZooKeeper API简介及编程

    问题导读: 1.ZooKeeper API 共包含几个包? 2.如何使用ZooKeeper API 创建zookeeper应用程序? 1)ZooKeeper API 简介   ZooKeeper AP ...

  4. codeforces 711C C. Coloring Trees(dp)

    题目链接: C. Coloring Trees time limit per test 2 seconds memory limit per test 256 megabytes input stan ...

  5. python中range函数和xrange函数有什么异同?

    http://ciniao.me/article.php?id=17 简单来说,range生成的是一个列表,而xrange生成的是一个生成器,而生成器在数组很大的时候能够比range更节省空间

  6. Spring MVC Spring MyBatis 整合 - 快速上手

    我个人比较喜欢写注释,在工作中对注释的重要性看的也比较高,所以大部分文字都在注释中,代码外的文字会写的偏少,关键能懂就行 先看一下整合后的工程目录(单工程,多工程以后会采用maven) 5个packa ...

  7. Android数据存储(二)----PreferenceFragment详解

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  8. WWW压缩解压缩

    unity的WWW参考文档:http://game.ceeger.com/Script/WWW/WWW.html 在unity中把资源打包成Assetbundle其实把资源通过 LZMA 压缩成二进制 ...

  9. BUG描述规范

    BUG描述规范 一. 目的与适用范围 1.1 目的 报告软件测试错误的目的是为了保证修复错误的人员可以明确报告的错误,从而有利于分析错误产生的原因,定位错误,然后修正之.因此,报告软件测试错误的基本要 ...

  10. [原创]CI持续集成系统环境---部署Gitlab环境完整记录

    Gitlab是一个代码托管平台,在实际工作中,对代码管理十分有用. 废话不多说,下面是对我自己搭建的Gitlab环境做一记录: (1)安装 ------------------------------ ...