TortoiseSVN简明教程

来源:互联网 发布:网络推手平台 编辑:程序博客网 时间:2024/04/30 02:10
TortoiseSVN简介  

版本控制是管理信息修改的艺术,它一直是程序员最重要的工具,程序员经常会花时间作出小的修改,然后又在某一天取消了这些修改,想象一下一个开发者并行工作的团队- 或许是同时工作在同一个文件!- 你就会明白为什么一个好的系统需要管理潜在的混乱。 

什么是TortoiseSVN  

TortoiseSVN 是Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器。你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改。这就是为什么许多人将Subversion 和版本控制系统看作一种“时间机器”。

某些版本控制系统也是软件配置管理(SCM)系统,这种系统经过精巧的设计,专门用来管理源代码树,并且具备许多与软件开发有关的特性- 比如,对编程语言的支持,或者提供程序构建工具。不过Subversion 并不是这样的系统;它是一个通用系统,可以管理任何类型的文件集,包括源代码。
名词解释                                                     

检出工作副本

你的版本库就像是一台时间机器,它记录了所有提交的修改,允许你检查文件或目录以及相关元数据的历史。通过一个Subversion命令你可以根据时间或修订号取出一个过去的版本(或者恢复现在的工作拷贝),然而,有时候我们只是想看看历史而不想回到历史  

提交修改

可以理解为上传修改文件的记录,就是把工作副本里面修改过的文件的记录上传到版本库里面。  

更新工作副本 

可以理解为下载最新版本库文件的记录,就是把版本库里面最新上传的文件记录下载到工作 副本里面。  

锁定—修改—解锁 

许多版本控制系统使用“锁定—修改—解锁”机制解决这种问题,在这样的模型里,在一个 时间段版本库的一个文件只允许被一个人修改。首先在修改之前,Harry要“锁定”住这个文件,锁定很像是从图书馆借一本书,如果Harry锁住这个文件,Sally不能做任何修改,如果Sally想请求得到一个锁,版本库会拒绝这个请求。Harry结束编辑并且放开这个锁之 前,她只可以阅读文件。Harry解锁后,就要换班了,Sally得到自己的轮换位置,锁定并且开始编辑这个文件。

  
TortoiseSVN安装                                               

安装TortoiseSVN软件,鼠标左键双击“TortoiseSVN-1.5.3.13783-win32-svn-1.5.2.msi”,如图所示进行安装。

     

  

  

  

出现提示,重新启动计算机安装完毕。     

安装TortoiseSVN遇到问题解决方法                      

安装TortoiseSVN不成功出现错误提示“Service "VisualSVNServer"failedtostart.Verifythatyou have sufficientprivilegestostartsystemservices.”,解决方法:这是WindowsInstaller的问题,重新安装WindowsInstaller即可,如有安装问题请与管理员联系。
检出工作副本                                                

大多数时候,你会使用checkout从版本库取出一个新拷贝开始使用Subversion,这样会在本机创建一个项目的“本地拷贝”。在Windows资源管理器里选择一个存放工作副本目录。右键点击弹出右键菜单,选择TortoiseSVN-->SVNCheckout…注:你首先要检出主线(trunk),这样版本库才知道你要接受管理的程序在磁盘哪个目录。 看上去什么都没有发生,但实际上这个操作让版本库把你的项目目录纳入管理了在你硬盘的适当的位置(例:e:/test),目标文件夹点击右键,选择SVNCheckout…

   

然后就会弹出一个Checkout选项对话框,输入远程项目目录和本地工作目录,例:192.168.1.195服务器的svn目录下的root版本库,远程项目地址为:http://192.168.1.195/svn/root/trunk

  
点击OK,就会弹出一个远程服务器要求验证的对话框,输入正确的用户名和密码。

检出成功后,会在“检出”目录出现绿色小勾,“检出”根目录也会出现.svn隐藏目录。 

  


提交修改                                                    

将你对工作副本的修改发送给版本库,称为提交修改。但在你提交之前确保你的工作副本是最新的。你可以直接使用Tortoiset-->Update,或者,你可以先使用TortoiseSVN-->检 查修改看看哪些文件在本地或是服务器上已经有了改动。如果你的工作副本是最新的,并且没有冲突,你就已经为提交做好准备了,选择你要的文件和/或文件夹,然后TortoiseSVN-->commit......在你做了修改之后,你可以在项目文件夹下点击右键或者你修改的文件下点击右键,选择SVNCommit…,这两者的区别在于,第一个可以一次提交你所做所有文件的修改,而第二 个只是提交你所选的文件。

  

点击Commit之后,就会弹出一个让你输入更改log的对话框: 

  

输入你所作的修改,然后点击OK,就会开始向远程服务器提交修改。

 

提交文件成功!返回信息!”Finished!”表示文件已成功提交。点击”OK”按钮确定更新文件成 功。

更新工作副本                                                 

更新多个项目在Subversion还不是原子操作,所以TortoiseSVN会首先找到版本库的HEAD修订版本,然后将所有项目更新到特定修订版本,防止出现混合修订版本的工作副本。如果只有一个项目被选中更新,或选中的项目来自不同的版本库,TortoiseSVN只会更新到HEAD。在工作副本里面选定文件夹或文件,右键菜单TortoiseSVN--->Update。

  
出现一个对话框,输入正确的用户名和密码即可向版本库提交你想更新文件的信息。

 

更新文件成功!返回信息!”Completed”表示文件已成功更新;”Atrevision:3”表示更新文件版本号为3。点击”OK”按钮确定更新文件成功。

 

锁定                                                     

选择工作副本中你想要获取锁定的文件,然后选择命令TortoiseSVN--->Getlock…

    

出现一个对话框,允许你输入注释,这样别人知道你为什么锁定这个文件。注释是可选的, 并且只用于基于Subversion的库。选择需要锁定的文件在复选框打勾,点击“确定”按钮 锁定选择的文件。

  

出现一个对话框,输入正确的用户名和密码即可向版本库提交你想锁定文件的信息。

 

锁定文件成功!返回信息!”Locked byadmin”表示文件已被admin用户锁 定;”alpay_payto.php”表示锁定文件的名称。点击”OK”按钮确定锁定文件成功。 

 

释放锁定(取消锁定)                                         

选择工作副本中你想要取消锁定的文件,然后选择命令TortoiseSVN--->Releaselock… 

    

出现一个对话框,选择需要取消锁定的文件在复选框里打勾,点击“确定”按钮。


出现一个对话框,输入正确的用户名和密码即可向版本库提交你想取消锁定文件的信息。

取消锁定文件成功!返回信息!”Unlocked Finished!”表示文件已被解除锁 定;”alpay_payto.php”表示解除锁定文件的名称。点击”OK”按钮确定锁定文件成功。

TortoiseSVN语言包安装                                             

如果有英文不太好的朋友可以安装TortoiseSVN 语言包支持中文。

如图所示TortoiseSVN 语言包安装成功
TortoiseSVN设置语言选项                                   

点击回到置顶  安装完TortoiseSVN 语言包,在空白处单击鼠标右键,在弹出的菜单选择”TortoiseSVN---Settings”。

如下图所示,在出现的对话框选择“Language:中文(简体)”---鼠标左键单击“确定”按钮。

如图所示,TortoiseSVN设置语言成功。
TortoiseSVN菜单设置                                       

该页面允许你指定:在TortoiseSVN的主上下文菜单中哪些条目可以直接在鼠标右键菜单显示,哪些在TortoiseSVN子菜单显示。默认情况下很多项未被勾选,只在子菜单显示。获得锁会有一个特别的情况,你可以将其提升到顶级菜单,但是大多数文件不需要锁定,这样做只是添加了混乱。然而,一个标记为svn:needs-lock属性的文件每次编辑前都需要 那个操作,所以这个菜单会进入顶级菜单会比较方便。选定这个选项,会使设置svn:needs-lock属性的文件的GetLock出现在顶级菜单中。

如下图所示,TortoiseSVN子菜单内容按照设置放到右键顶级菜单。

其它功能                                                        

网页浏览:你可以使用该地址https://192.168.1.195/svn/root/trunk/在网页上浏览项目,同样需要和前面一样的密码。

 

Revert:取消上一次的操作(只针对客户端,服务端不做改动) 

    


RevisionGraph:版本示意图 


Showlog:查看版本日志及不同版本间相互比较


Checkformodifications:同服务器上的项目版本进行比较,并可做相应的修改。  

  

小技巧                                                      

工作副本下.svn目录被删除了怎么办?工作拷贝中的任何一个目录包括一个名为.svn管理区域,通常列表操作不显示这个目录, 但它仍然是一个非常重要的目录,无论你做什么?不要删除或是更改这个管理区域的任何东 西,Subversion使用它来管理工作拷贝。 如果你不小心删除了子目录.svn,最简单的解决办法是删除包含的目录(普通的文件系统删除,而不是svndelete),然后在父目录运行svnupdate,Subversion客户端会重新下载你删除的目录,并包含新的.svn。  


原创粉丝点击