Tortoises SVN 教程程序员
1. TortoiseSVN 简介编程
版本控制是管理信息修改的艺术,它一直是程序员最重要的工具,程序员常常会服务器
花时间做出小的修改,而后又在某一天取消了这些修改,想象一下一个开发者并行工编程语言
做的团队 - 或许是同时工做在同一个文件!- 你就会明白为何一个好的系统须要svn
管理潜在的混乱。工具
2. 什么是 TortoiseSVN spa
TortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端,能够超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改之外,版本库很是像普通的文件服务器。你能够将文件恢复到过去的版本,而且能够经过检查历史知道数据作了哪些修改,谁作的修改。这就是为何许多人将Subversion 和版本控制系统看做一种“时间机器”。设计
某些版本控制系统也是软件配置管理(SCM)系统,这种系统通过精巧的设计,专门用来管理源代码树,而且具有许多与软件开发有关的特性 - 好比,对编程语言的支持,或者提供程序构建工具。不过 Subversion 并非这样的系统;它是一个通用系统,能够管理任何类型的文件集,包括源代码。版本控制
3. 名词解释日志
3.1 检出工做副本
你的版本库就像是一台时间机器,它记录了全部提交的修改,容许你检查文件或目录以及相关元数据的历史。经过一个Subversion 命令你能够根据时间或修订号取出一个过去的版本(或者恢复如今的工做拷贝),然而,有时候咱们只是想看看历史而不想回到历史
3.2 提交修改
能够理解为上传修改文件的记录,就是把工做副本里面修改过的文件的记录上传到版本库里面。
3.3 更新工做副本
能够理解为下载最新版本库文件的记录,就是把版本库里面最新上传的文件记录下载到工做副本里面。
3.4 锁定—修改—解锁
许多版本控制系统使用“锁定—修改—解锁”机制解决这种问题,在这样的模型里,在一个时间段版本库的一个文件只容许被一我的修改。首先在修改以前,Harry 要“锁定”住这个文件,锁定很像是从图书馆借一本书,若是Harry 锁住这个文件,Sally 不能作任何修改,若是Sally 想请求获得一个锁,版本库会拒绝这个请求。Harry 结束编辑而且放开这个锁以前,她只能够阅读文件。Harry 解锁后,就要换班了,Sally 获得本身的轮换位置,锁定而且开始编辑这个文件。
4. TortoiseSVN 安装
安装TortoiseSVN 软件,鼠标左键双击”TortoiseSVN-1.5.3.13783-win32-svn-1.5.2.msi”,
如图所示进行安装。
出现提示,从新启动计算机安装完毕。
注:若是有须要使用中文版能够加装中文语言包,如下是以中文界面做为操做说明。
5. 安装TortoiseSVN遇到问题解决方法
安装TortoiseSVN 不成功出现错误提示“Service "VisualSVNServer" failed to start. Verifythat you have sufficient privileges to start system services.”,解决方法:这是Windows Installer 的问题,从新安装Windows Installer 便可,若有安装问题请与管理员联系。
6. TortoiseSVN 使用
6.1 检出工做副本
大多数时候,你会使用 检出 从版本库取出一个新拷贝开始使用Subversion,这样会在本机建立一个项目的“本地拷贝”。选择一个存放工做副本目录。右键点击弹出右键菜单,选择“SVN 检出 …”
注:你首先要检出主线(trunk),这样版本库才知道你要接受管理的程序在磁盘哪一个目录。看上去什么都没有发生,但实际上这个操做让版本库把你的项目目录归入管理了在你硬盘的适当的位置(例:e:\yfb),目标文件夹点击右键,选择 “SVN 检出…”
而后就会弹出一个 检出 选项对话框,输入远程项目目录和本地工做目录,例:Ft-llb 服务器的svn 目录下的yfb 版本库,远程项目地址为:https://ft-llb/svn/yfb/
点击确认,就会弹出一个远程服务器要求验证的对话框,输入正确的用户名和密码。
检出成功后,会在“检出”目录出现绿色小勾,“检出”根目录也会出现.svn 隐藏目录。
6.2 提交修改
将你对工做副本的修改发送给版本库,称为提交修改。但在你提交以前确保你的工做副本是最新的。你能够直接使用 Svn 更新,或者,你能够先使用“TortoiseSVN --> 检查修改”看看哪些文件在本地或是服务器上已经有了改动。
若是你的工做副本是最新的,而且没有冲突,你就已经为提交作好准备了,选择你要的文件和/或文件夹,而后“svn 提交 ......”
在你作了修改以后,你能够在项目文件夹下点击右键或者你修改的文件下点击右键,选择“SVN 提交…”,这二者的区别在于,第一个能够一次提交你所作全部文件的修改,而第二个只是提交你所选的文件。
点击 Svn 提交 以后,就会弹出一个让你输入更改 “日志” 的对话框:
输入你所做的修改,而后点击 确认,就会开始向远程服务器提交修改。
提交文件成功!返回信息!“完毕!”表示文件已成功提交。点击“确认”按钮肯定更新文件成功。
6.3 更新工做副本
更新多个项目在Subversion 还不是原子操做,因此TortoiseSVN会首先找到版本库的HEAD修订版本,而后将全部项目更新到特定修订版本,防止出现混合修订版本的工做副本。若是只有一个项目被选中更新,或选中的项目来自不一样的版本库,TortoiseSVN 只会更新到HEAD。
在工做副本里面选定文件夹或文件,右键菜单 Svn更新。
出现一个对话框,输入正确的用户名和密码便可向版本库提交你想更新文件的信息。
更新文件成功!返回信息!“Completed”表示文件已成功更新;“于版本:17”表示更新文件版本号为3。点击“确认”按钮肯定更新文件成功。
6.4 锁定
选择工做副本中你想要获取锁定的文件,而后选择命令“TortoiseSVN --> 获取锁定…”
出现一个对话框,容许你输入注释,这样别人知道你为何锁定这个文件。注释是可选的,而且只用于基于Subversion 的库。选择须要锁定的文件在复选框打勾,点击“肯定”按钮锁定选择的文件。
出现一个对话框,输入正确的用户名和密码便可向版本库提交你想锁定文件的信息。
锁定文件成功!返回信息!“被llb锁定”表示文件已被llb 用户锁定;“E:\yfb\liulebin\fdsf.txt”表示锁定文件的名称。点击“确认”按钮肯定锁定文件成功。
6.5 释放锁定(取消锁定)
选择工做副本中你想要取消锁定的文件,而后选择命令“TortoiseSVN ---> 释放锁定…”
出现一个对话框,选择须要取消锁定的文件在复选框里打勾,点击“肯定”按钮。
出现一个对话框,输入正确的用户名和密码便可向版本库提交你想取消锁定文件的信息。
取消锁定文件成功!返回信息!“已解触锁定!”表示文件已被解除锁定;“E:\yfb\liulebin\fdsf.txt”表示释放锁定文件的名称。点击“确认”按钮肯定锁定文件成功。
7. 其它功能
7.1 网页浏览
你可使用该地址 https://ft-llb/svn/yfb/在网页上浏览项目,一样须要和前面同样的用户名、密码。
7.2 SVN还原
取消上一次的操做(只针对客户端,服务端不作改动)
7.3 版本库浏览
7.4 版本示意图
7.5 显示日志
查看版本日志及不一样版本间相互比较
7.6 检查修改
同服务器上的项目版本进行比较,并可作相应的修改。
8. 小技巧
工做副本下.svn 目录被删除了怎么办?
工做拷贝中的任何一个目录包括一个名为.svn 管理区域,一般列表操做不显示这个目录,
但它仍然是一个很是重要的目录,不管你作什么?不要删除或是更改这个管理区域的任何东
西,Subversion 使用它来管理工做拷贝。
若是你不当心删除了子目录.svn,最简单的解决办法是删除包含的目录(普通的文件系统删
除,而不是svn delete),而后在父目录运行svn svn 更新,Subversion 客户端会从新下载你
删除的目录,并包含新的.svn。