TortoiseSVN 简介
TortoiseSVN 是一个 Windows 下的版本控制系统 Apache™ Subversion®的客户端工具。
TortoiseSVN 的优良特性
1.外壳集成
TortoiseSVN 无缝地整合进 Windows 的外壳(例如资源管理器)。
2.重载图标
每个版本控制的文件和目录的状态使用小的重载图标表示,可以让你立刻看出工作副本的状态。
3.图形用户界面
当你列出文件或文件夹的更改时,你可以点击任意版本查看提交注释。也可以看到更改过的文件列表 - 只要双击文件就可以查看更改内容。
提交对话框列出了本次提交将要包括的条目,每一个条目有一个复选框,所以你可以选择包括哪些条目。未版本控制的文件也会被列出,以防你忘记添加新文件。
4.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的标志。现在他负责照看网站和管理多语言翻译。
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 位为例
中文语言包安装
在任意目录下点右键→TortoiseSVN→settings
检出
①创建一个目录用来存放检出得到的文件,例如 MyCRM
②进入目录 MyCRM,点右键
③可以看到检出得到的文件
此时文件图标上没有任何标识。可能你会想到通过重启电脑的方式解决这一问题——其实不用这么麻烦。文件图标是受外壳程序控制的,我们只需要重启外壳程序——explorer.exe 就可以了。打开任务管理器,选中 explorer.exe 进程,结束进程,然后新建进程 explorer.exe 就可以了。
如果一切顺利的话,你会看到文件图标变成了这样:
④TortoiseSVN 图标含义
●图标 1: 一个新检出的工作副本使用绿色的对勾做重载。表示 Subversion 状态正常。
●图标 2:在你开始编辑一个文件后,状态就变成了已修改,而图标重载变成了红色感叹号。通过这种方式,你可以很容易地看出哪些文件从你上次更新工作副本后被修改过,需要被提交。
●图标 3:如果在更新的过程中出现了冲突,图标会变成黄色感叹号。
●图标 4:如果你给一个文件设置了 svn:needs-lock 属性,Subversion 会让此文件只读,直到你获得文件锁。具有这个重载图标的文件来表示你必须在编辑之前先得到锁。
●图标 5: 如果你拥有了一个文件的锁,并且 Subversion 状态是正常,这个重载图标就提醒你如果不使用该文件的话应该释放锁,允许别人提交对该文件的修改。
●图标 6: 这个图标表示当前文件夹下的某些文件或文件夹已经被调度从版本控制中删除,或是该文件夹下某个受版本控制的文件丢失了。
●图标 7:加号告诉你有一个文件或目录已经被调度加入版本控制。
●图标 8:横条告诉你有一个文件或目录被版本控制系统所忽略。这个图标重载是可选的。
●图标 9:这个图标说明文件和目录未被版本控制,但是也没有被忽略。这个图标重载是可选的。
纳入版本控制
①新建文件 abc.txt
②在文件上点右键
③添加后文件图标发生变化
提交
①使用 TortoiseSVN 可以提交具体某一个文件,或某一个目录下的所有改变。方法就是在想要提交的项目下点右键,然后 SVN Commit…,就可以看到如下界面
②日志内容如果不填,TortoiseSVN 会提交一个空字符串作为日志信息。
③提交后显示信息如下
④没有纳入版本控制的文件默认是不在提交范围内的,直接在新创建的文件上点右键只能看到 add 操作的选项,如前所述。但在新创建的文件所在目录点右键选择 SVN commit…,可以看到如下界面
将文件 newFile.txt 选中
同样可以提交文件,TortoiseSVN 会帮我们自动将 newFile.txt 纳入版本控制
更新
回复历史版本
①查看历史版本内容
[1]首先需要把对应版本库的匿名访问权限设置为 none:anon-access = none
[2]在要查看历史版本的文件上点右键→TortoiseSVN→Show log
[3]在感兴趣的历史版本上点右键,可以与当前工作副本进行比较,或直接打开。
②在要回复历史版本的文件上点右键→Update to revision
填上想要回到的版本即可
解决冲突
①文件发生冲突时的状态和在 Eclipse 中一样,这里就不赘述了。
②在冲突的文件上点右键→Edit Conflicts
③有“叹号”的行是发生冲突的行
④在冲突行点右键
可以选择四种操作:
[1]使用我的
[2]使用他们的
[3]把我的放在他们的前面
[4]把他们的放在我的前面
⑤在冲突解决后,直接保存——这时 TortoiseSVN 自动弹出如下确认界面
⑥文件变为红色叹号标志,自动生成的三个文件被删除。提交修改即可。