SVN的使用方法总结/如何使用TortoiseSVN工具进行版本控制

来源:互联网 发布:南京的市政设计院 知乎 编辑:程序博客网 时间:2024/06/09 23:15

SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。
TortoiseSVN是windows下其中一个非常优秀的SVN客户端工具。通过使用它,我们可以可视化的管理我们的版本库。不过由于它只是一个客户端,所以它不能对版本库进行权限管理。TortoiseSVN不是一个独立的窗口程序,而是集成在windows右键菜单中,使用起来比较方便。 TortoiseSVN每个菜单项都表示什么意思。

一,SVN CheckOut检出 check out

这个是我们用的最多的操作,从SVN服务器上下载文件。

二,SVN Update

如果配置库在本地已有工作拷贝,则取得最新版本只是执行SVN Update即可,点击SVN Update,系统弹出更新提示框,点击确定,则把服务器是最新版本更新下来。

三,Import(导入)  

选择要提交到服务器的目录,右键选择TortoiseSVN----Import,系统弹出导入提示框,在URL of repository输入框中输入服务器仓库地址,在Import Message输入框中输入导入日志信息,点击确定,则文件导入到服务器仓库中。 

四,Export(导出)     
把整个工作拷贝导出到本地目录下,导出的文件将不带svn文件标志,文件及文件夹没有绿色的”√”符号标志。

五,SVN Commit(版本提交)
把自己工作拷贝所做的修改提交到版本库中,这样别人在获取最新版本(Update)的时候就可以看到你的修改了。

六,Show log(显示日志)
显示当前文件(夹)的所有修改历史。SVN支持文件以及文件夹独立的版本追溯。

七,Repo-Browser(查看当前版本库)
查看当前版本库,这是TortoiseSVN查看版本库的入口,通过这个菜单项,我们就可以进入配置库的资源管理器,然后就可以对配置库的文件夹进行各种管理,相当于我们打开我的电脑进行文件管理一样。 

八,Cleanup(清除状态)
如果当前工作拷贝有任何问题的话,可以使用这个选项进行修正。例如,有些文件原来是版本控制的,但是你没有通过tortoiseSVN就直接删除了,但是tortoiseSVN还是保留着原来的信息(每个文件夹下都有一个.svn的隐藏文件夹,存放着当前文件夹下所有文件夹的版本信息)所以这就会产生一些冲突。可以使用cleanup来清理一下。

九,GetLock/ReleaseLock(加锁/解锁) 
如果你不想别人修改某个文件的话,那么你就可以把这个文件进行加锁,这样可以保证只有你对这个文件有修改权。除非你释放了锁,否则别人不可能提交任何修改到配置库中

十,SVN地址变更后,如何更改SVN地址
在SVN目录 -> 右键 -> TortoiseSVN -> Relocate  
温馨提示:要选择checkout的根目录,否则菜单里里没有relocation选项。

A,在弹出框中录入新的服务器地址。请确认服务器地址是否正确,也可以在浏览器中访问新地址,以便确认新地址是否正确。如果出现异常

B,TortoiseSVN会给出错误信息,按照错误提示信息处理即可。

C,修改完服务器地址,执行下update操作。如果没有问题,则会显示update成功,如果失败会显示失败原因。
D,如果遇到版本错误的提示,如下图。说明服务器的代码版本有丢失,这时候最好是能找到完成的服务端文件。如果找不到,就需要把自己的本地代码剪切到其他目录,重新checkout代码,然后用比较工具进行比较,再提交到服务器端。
E,如果本地目录执行有其他异常,可以试试执行cleanup。右键选择TortoiseSVN的Clean Up。一般能够解决。

十一,SVN使用时的注意事项

A.在修改之前,建议先进行update操作,再进行修改的commit操作,以免覆盖其他人的操作;
B、在rmv操作之前,先确定是否本机数据,还是的确要删除service端数据,删除提交commit才是正式删除服务端数据;
以上只是TortoiseSVN最简单的几个功能,其实他的功能远不止这些,其他的功能大家可以在使用的过程中慢慢体会,有些功能我会在下面的教程中使用到,到时候会和大家讲清楚用法。
另外说明下SVN服务端和客户端组网:也可以算是B/S结构,但是B结构只能查看,不能修改;
1、 客户端可以checkin、checkout,delect等操作配置,配置项,一般操作都在客户端完成;

2、 服务端只能规划配置库大概的结构,而且不能做打开,编辑配置配置项操作,而且服务器端机器上也直接查找不到对应的配置文件,这个是出于安全考虑加密了;所以所有操作到客户端完成;


0 0