作者: 北京群英汇信息技术有限公司
网址: 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. BendFord's law's Chi square test

    http://www.siam.org/students/siuro/vol1issue1/S01009.pdf bendford'law e=log10(1+l/n) o=freq of first ...

  2. Ubuntu 14.04 部署 CEPH集群

    注:下文的所有操作都在admin节点进行 1.准备三台虚拟机,其中一台作为admin节点,另外两台作为osd节点,并相应地用hostname命令将主机名修改为admin,osd0,osd1,最后修改/ ...

  3. html5 实现video标签的自定义播放进度条

    现在随着html5的渐热,越来越多的web开发者都开始选择使用html5写出一些比较好的web应用. html代码: <!DOCTYPE html> <html lang=" ...

  4. 通过JDBC进行简单的增删改查

    通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...

  5. mantis安装

    curl -O http://jaist.dl.sourceforge.net/project/mantisbt/mantis-stable/1.2.19/mantisbt-1.2.19.tar.gz ...

  6. mac在xampp下使用yii2.0开发环境配置

    在mac上装环境,折腾了我好久.先用是mac自带的php,但自带的PHP很多扩展都需要自己安装.libevent,memcache等扩展都安装好了之后,发现pdo_mysql.dll扩展又没有,悲剧的 ...

  7. 学员信息录入(StuInfoManager) 用分层实现(既MySchool后的一个案例)

    数据库 数据表名 Student 中文表名 学员信息表 字段显示 字段名 数据类型 字段大小 备注和说明 编号 stu_id int 主键,自增1 学生姓名 stu_name varchar 50 不 ...

  8. javascript中的array对象属性及方法

    Array 对象 Array 对象用于在单个的变量中存储多个值. 创建 Array 对象的语法: new Array(); new Array(size); new Array(element0, e ...

  9. 2666 Accept Ratio(打表AC)

    2666 Accept Ratio  时间限制: 1 s  空间限制: 32000 KB  题目等级 : 钻石 Diamond 题解  查看运行结果     题目描述 Description 某陈痴迷 ...

  10. 22Mybatis_订单商品数据模型_多对多查询以及对多对多查询的总结

    之前讲了一对一,一对多查询,这篇文章讲的是多对多. 先给出需求:查询用户及用户购买商品信息. 我们由之前的文章知道,这个需求是多对多的. 还是那个终止我们的mybatis所做的不管是之前的一对一还是一 ...