9_使用SVN独立客户端:TortoiseSVN

1、 TortoiseSVN简介

TortoiseSVN是一个Windows下的版本控制系统Apache™ Subversion®的客户端工具。
9_使用SVN独立客户端:TortoiseSVN

2 、TortoiseSVN的优良特性

①外壳集成

TortoiseSVN 无缝地整合进 Windows 的外壳(例如资源管理器)。

②重载图标

每个版本控制的文件和目录的状态使用小的重载图标表示,可以让你立刻看出工作副本的状态。

③图形用户界面

当你列出文件或文件夹的更改时,你可以点击任意版本查看提交注释。也可以看到更改过的文件列表 - 只要双击文件就可以查看更改内容。

提交对话框列出了本次提交将要包括的条目,每一个条目有一个复选框,所以你可以选择包括哪些条目。未版本控制的文件也会被列出,以防你忘记添加新文件。

④Subversion 命令的简便访问

所有的 Subversion 命令存在于资源管理器的右键菜单,TortoiseSVN 在那里添加子菜单。

TortoiseSVN 的历史

2002年,Tim Kemp 发现 Subversion 是一个非常好的版本管理系统,但是缺乏一个好的图形界面客户端程序。做一个与 Windows 外壳整合的 Subversion 客户端程序的想法是受一个叫 TortoiseCVS 的 CVS客户端程序所启发的。Tim 研究了 TortoiseCVS 的源码并以此为 TortoiseSVN 的基础。他开始运作这个项目,注册了域名 tortoisesvn.org 并且将源码放在了网上。

就在同时, Stefan Küng 正在寻找一个好用的并且免费的版本控制系统。他找到了 Subversion 和TortoiseSVN 的源码。因为 TortoiseSVN 还不能使用,他加入了项目并开始编码。很快,他就重写了现有的大部分代码并开始添加命令和功能,到了某个时段,最初的代码已经都被改写了。

由于 Subversion 变得越来越稳定,它吸引了越来越多用户,他们同时也开始使用 TortoiseSVN 作为Subversion 的客户端程序。用户数量快速增长(并且每天还在增长)。这时候,Lübbe Onken 提出帮助项目提供精美的图标和 TortoiseSVN 的标志。现在他负责照看网站和管理多语言翻译。

3、 TortoiseSVN安装

①下载安装程序:http://tortoisesvn.net/downloads.html

Win32位:TortoiseSVN-1.8.7.25475-win32-svn-1.8.9.msi

Win64位:TortoiseSVN-1.8.7.25475-x64-svn-1.8.9.msi

Win32位语言包:LanguagePack_1.8.7.25475-win32-zh_CN.msi

Win64位语言包:LanguagePack_1.8.7.25475-x64-zh_CN.msi

②以Win32位为例

9_使用SVN独立客户端:TortoiseSVN

9_使用SVN独立客户端:TortoiseSVN

9_使用SVN独立客户端:TortoiseSVN

9_使用SVN独立客户端:TortoiseSVN

9_使用SVN独立客户端:TortoiseSVN
9_使用SVN独立客户端:TortoiseSVN
9_使用SVN独立客户端:TortoiseSVN

9_使用SVN独立客户端:TortoiseSVN
9_使用SVN独立客户端:TortoiseSVN

9_使用SVN独立客户端:TortoiseSVN

4、 中文语言包安装

9_使用SVN独立客户端:TortoiseSVN

9_使用SVN独立客户端:TortoiseSVN

9_使用SVN独立客户端:TortoiseSVN

9_使用SVN独立客户端:TortoiseSVN

在任意目录下点右键→TortoiseSVN→settings

9_使用SVN独立客户端:TortoiseSVN

5、 检出

5.1 、创建一个目录用来存放检出得到的文件,例如MyCRM

5.2、 进入目录MyCRM,点右键

9_使用SVN独立客户端:TortoiseSVN
9_使用SVN独立客户端:TortoiseSVN
9_使用SVN独立客户端:TortoiseSVN

5.3、 可以看到检出得到的文件

9_使用SVN独立客户端:TortoiseSVN

此时文件图标上没有任何标识。可能你会想到通过重启电脑的方式解决这一问题——其实不用这么麻烦。文件图标是受外壳程序控制的,我们只需要重启外壳程序——explorer.exe就可以了。打开任务管理器,选中explorer.exe进程,结束进程,然后新建进程explorer.exe就可以了。

9_使用SVN独立客户端:TortoiseSVN
9_使用SVN独立客户端:TortoiseSVN
9_使用SVN独立客户端:TortoiseSVN
如果一切顺利的话,你会看到文件图标变成了这样:

9_使用SVN独立客户端:TortoiseSVN

5.4、 TortoiseSVN图标含义

9_使用SVN独立客户端:TortoiseSVN

  • 图标1:9_使用SVN独立客户端:TortoiseSVN一个新检出的工作副本使用绿色的对勾做重载。表示Subversion状态正常。

  • 图标2:9_使用SVN独立客户端:TortoiseSVN在你开始编辑一个文件后,状态就变成了已修改,而图标重载变成了红色感叹号。通过这种方式,你可以很容易地看出哪些文件从你上次更新工作副本后被修改过,需要被提交。

  • 图标3:9_使用SVN独立客户端:TortoiseSVN如果在更新的过程中出现了冲突,图标会变成黄色感叹号。

  • 图标4:9_使用SVN独立客户端:TortoiseSVN如果你给一个文件设置了svn:needs-lock属性,Subversion会让此文件只读,直到你获得文件锁。具有这个重载图标的文件来表示你必须在编辑之前先得到锁。

  • 图标5:9_使用SVN独立客户端:TortoiseSVN如果你拥有了一个文件的锁,并且Subversion状态是正常,这个重载图标就提醒你如果不使用该文件的话应该释放锁,允许别人提交对该文件的修改。

  • 图标6:9_使用SVN独立客户端:TortoiseSVN这个图标表示当前文件夹下的某些文件或文件夹已经被调度从版本控制中删除,或是该文件夹下某个受版本控制的文件丢失了。

  • 图标7:9_使用SVN独立客户端:TortoiseSVN加号告诉你有一个文件或目录已经被调度加入版本控制。

  • 图标8:9_使用SVN独立客户端:TortoiseSVN横条告诉你有一个文件或目录被版本控制系统所忽略。这个图标重载是可选的。

  • 图标9:9_使用SVN独立客户端:TortoiseSVN这个图标说明文件和目录未被版本控制,但是也没有被忽略。这个图标重载是可选的。

6、 纳入版本控制

①新建文件abc.txt

②在文件上点右键

9_使用SVN独立客户端:TortoiseSVN

③添加后文件图标发生变化

9_使用SVN独立客户端:TortoiseSVN

7、 提交

①使用TortoiseSVN可以提交具体某一个文件,或某一个目录下的所有改变。方法就是在想要提交的项目下点右键,然后SVN Commit…,就可以看到如下界面

9_使用SVN独立客户端:TortoiseSVN

②日志内容如果不填,TortoiseSVN会提交一个空字符串作为日志信息。

③提交后显示信息如下

9_使用SVN独立客户端:TortoiseSVN

④没有纳入版本控制的文件默认是不在提交范围内的,直接在新创建的文件上点右键只能看到add操作的选项,如前所述。但在新创建的文件所在目录点右键选择SVN commit…,可以看到如下界面

9_使用SVN独立客户端:TortoiseSVN

将文件newFile.txt选中

9_使用SVN独立客户端:TortoiseSVN

同样可以提交文件,TortoiseSVN会帮我们自动将newFile.txt纳入版本控制

9_使用SVN独立客户端:TortoiseSVN

8、 更新

在要更新的文件或目录上点右键→SVN Update

9_使用SVN独立客户端:TortoiseSVN

9、 回复历史版本

①查看历史版本内容

[1]首先需要把对应版本库的匿名访问权限设置为none:anon-access = none

[2]在要查看历史版本的文件上点右键→TortoiseSVN→Show log

9_使用SVN独立客户端:TortoiseSVN
[3]在感兴趣的历史版本上点右键,可以与当前工作副本进行比较,或直接打开。

9_使用SVN独立客户端:TortoiseSVN

②在要回复历史版本的文件上点右键→Update to revision

9_使用SVN独立客户端:TortoiseSVN

填上想要回到的版本即可

9_使用SVN独立客户端:TortoiseSVN

10、 解决冲突

①文件发生冲突时的状态和在Eclipse中一样,这里就不赘述了。

②在冲突的文件上点右键→Edit Conflicts

9_使用SVN独立客户端:TortoiseSVN

③有“叹号”的行是发生冲突的行

9_使用SVN独立客户端:TortoiseSVN

④在冲突行点右键

9_使用SVN独立客户端:TortoiseSVN

可以选择四种操作:

[1]使用我的

[2]使用他们的

[3]把我的放在他们的前面

[4]把他们的放在我的前面

⑤在冲突解决后,直接保存——这时TortoiseSVN自动弹出如下确认界面

9_使用SVN独立客户端:TortoiseSVN

⑥文件变为红色叹号标志,自动生成的三个文件被删除。提交修改即可