TortoiseSVN是 Subversion 版本控制系统的一个免费开源客户端,它基于Apache ™ Subversion(SVN)®,可以超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器,有了这款工具你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改,所以也被人称之为:时间工具!
TortoiseSVN使用方法
新建一个文件夹:E:\TortoiseSVN
TortoiseSVN会在这个文件夹创建版本库,并且会弹出一个提示框,点击“创建目录结构”,然后启动版本库浏览器,就可以看到版本库的目录结构
通过点击“创建目录结构”,TortoiseSVN自动创建了3个文件夹,branches,tags,trunk,
trunk目录
主干目录,一般情况下是在此目录下进行代码的开发,这个目录应该存放最新的代码。
tags目录
代码的版本标记,这个目录的代码不允许更改,比如,软件发了1.0版本,就需要将1.0版本的代码在tags中放一份拷贝,发了2.0,就要在tag中标记一个2.0。如果1.0软件出现了bug,开发人员要验证bug,直接从tag中取1.0版本的代码就可以了,不会把个个版本混淆。
branches目录
分支目录,用于开发新功能或解决老版本的bug。比如,1.0版本上线,开发人员全力投入2.0版本的开发,但是,1.0版本突然出现了一个bug必须要修复,而且很紧急,不能等到2.0版本上线,这时候该怎么办呢。正确的做法是,从tag中取1.0版本的代码,建立一个新的分支,开发人员在这个分支上解决1.0发现的bug,解决完成并测试通过之后,在tag中添加一个新的版本标记,比如1.1,然后关闭这个分支。如果1.1再出现bug,那么从1.1建立分支,以此类推,直到2.0出现。
三、添加和检出项目
打开版本库浏览器,在trunk目录点击右键,加入文件夹,加入一个新的工程testSVN。
将此工程检出:右键-->SVN检出
四、创建分支和标记
选择项目-->右键-->复制到
在项目上:右键-->版本分支图查看各个版本分支
TortoiseSVN优势
可选的传输层Subversion在版本库浏览层面有一个抽象化,利于大家去实现新的网络体制,Subversion的“高端”服务器是Apache网络服务器的一个模块,应用HTTP的变异协议WebDAV/DeltaV通信,这给了Subversion在可靠性和互动性层面很大的益处,能直接应用服务器的特点,比如验证、受权、传送缩小和版本库访问这些。也有一个轻形的,单独运作的Subversion服务端,这一服务器应用自身的协议,能够轻松的用SSH封装。
数据处理
Subversion应用二进制文件差别算法呈现文件的差别,针对文字(人们可读)和二进制(人们不能读)文件具有一致的操作方式,二种类型的文件都缩小储放在版本库中,差别在网络上双重传送。
高效的分支和标识
支系与标识的成本不与工程的尺寸成比例,Subversion创建支系与标识时仅仅拷贝项目,使用了一种类似硬链接的体制,因此这种操作一般只能耗费很少而且相对固定的时间,及其不大的版本库空间。
维护水平
Subversion没有历史压力,它由一系列优良的共享C库完成,具备界定优良的API,这使Subversion很容易维护,能够轻易的被其他语言和程序应用。
机壳集成
TortoiseSVN与Windows机壳(比如资源管理器)无缝集成,你能保持在了解的工具上工作,不用在每次应用版本控制作用时转换应用软件。
而且你不一定必须应用Windows资源管理器,TortoiseSVN的右键菜单能够工作在别的文件管理器,及其文件/开启提示框等规范的Windows应用软件中。你务必铭记,TortoiseSVN是有心做为Windows资源管理器的拓展开发,因此在其他程序可能集成的并不完整,比如轻载标志可能不会表明。
轻载标志
每个版本控制的文件和目录的情况应用小的轻载标志表明,能让你马上看出工作团本的情况。
简单浏览
Subversion指令的简单浏览
每一个Subversion指令存在于资源管理器的右键菜单,TortoiseSVN在那里加上子菜单。
由于TortoiseSVN是一个Subversion客户端,大家也很愿意为你展现一些Subversion本身的特点:
目录版本控制
CVS只有跟踪单独文件的历史,可是Subversion实现了一个“虚似”文件系统,能够跟踪全部目录树的改动,文件和目录全是版本控制的,结论便是能够在客户端对文件和目录实行挪动和复制命令。
分子递交
递交要不彻底进到版本库,要不一点都没有,这容许开发者以一个逻辑块递交改动。
版本控制的元数据
每个文件和目录都有一组额外的“属性”,你能发明和储存随意的键/值对,属性是版本控制的,如同文件内容。