Svn简介
Subversion简称svn是一个自由/开源的版本控制系统。也就是说,在Subversion管理下,文件和目录可以超越时空。也就是Subversion允许你数据恢复到早期版本,或者是检查数据修改的历史。正因为如此,许多人将版本控制系统当作一种神奇的“时间机器”。
Subversion的版本库可以通过网络访问,从而使用户可以在不同的电脑上进行操作。从某种程度上来说,允许用户在各自的空间里修改和管理同一组数据可以促进团队协作。因为修改不再是单线进行,开发速度会更快。此外,由于所有的工作都已版本化,也就不必担心由于错误的更改而影响软件质量—如果出现不正确的更改,只要撤销那一次更改操作即可。
某些版本控制系统本身也是软件配置管理(SCM)系统,这种系统经过精巧的设计,专门用来管理源代码树,并且具备许多与软件开发有关的特性—比如,对编程语言的支持,或者提供程序构建工具。不过Subversion并不是这样的系统。它是一个通用系统,可以管理任何类型的文件集。对你来说,这些文件这可能是源程序—而对别人,则可能是一个货物清单或者是数字电影。
一个典型的客户/服务器系统:
Subversion版本库的特别之处在于,它会记录每一次改变:每个文件的改变,甚至是目录树本身的改变,例如文件和目录的添加、删除和重新组织。
一般情况下,客户端从版本库中获取的数据是文件系统树中的最新数据。但是客户端也具备查看文件系统树以前任何一个状态的能力。举个例子,客户端有时会对一些历史性问题感兴趣,比如“上星期三时的目录结构是什么样的?”或者“谁最后一个修改了这个文件,都修改了什么?”这些都是版本控制系统的核心问题:设计用来记录和跟踪数据变化的系统。
服务器端软件安装
这里选择用VisualSVN-Server-2.1.7.msi搭建svn版本库服务器。
下载地址:http://www.visualsvn.com/server/download/
一直默认进行安装:
(选择:VisualSVN Server and management Console)
(Location:指的是软件安装的位置。Repositories:是需要svn控制的源码存放的位置。端口保持默认:443)
(Anthentication:身份验证模式,这里注意,如果选用第二个User Windows authentication,可能需要域环境。我选用的第一个。)
服务器配置运行
新建用户
右击左侧的Users,选择新建---User ,新建用户
新建repository(版本库)
选中 Repositories,在右侧的空白区域,选择新建---Repository,输入名字e-test,这样就创建了一个项目
url是:https://sihao-PC/svn/e-test
sihao-PC是我的电脑名,e-test是我的项目名。中间的svn是默认就有的,注意由于我没有加入域,所以在客户端获取的时候要把电脑名换成它的ip地址
赋予用户权限
右击e-test,所有任务--Manage Security 或者properties
把新建的用户添加进去并赋值权限,如下图:
这样就完成了服务器所有内容。
(参考文档:http://hi.baidu.com/sygwin/blog/item/7f2f1217168f0d144a90a793.html)
客户端软件介绍
客户端可以选择TortoiseSVN-1.6.15.21042-win32-svn-1.6.16.msi
下载地址:http://tortoisesvn.net/downloads.html
也可以用eclipse的svn插件:Subclipse
下载地址:http://subclipse.tigris.org/
本文主要介绍用eclipse插件的配置与使用
客户端软件Subclipse的安装
J-hi标准完全版本已经配置好了svn插件,如果没有的话可以用以下方法安装:
Eclipse的使用者可以通过Eclipse的插件自动下载和更新功能来安装这个插件,在Eclipse的菜单中选择Help->Software Updates->Find and Install-> Search for new features to install ->New Remote Site。URL中就输入http://subclipse.tigris.org/update,Eclipse就会自已安装上了。
安装完成后,在Eclipse的plugins中就会多了5个包,命名为org.tigris.subversion.*的都应该是了。打开Eclipse,window->show view窗口中多了一个SVN文件夹,到此就证明svn插件成功的安装上了。具体的使用方法,在Eclipse的Help中有详细的帮助Subclipse - Subversion Eclipse Plugin,教你一步一步的使用SVN的客户端了。如果你对subversion想进行深入的了解,那么看看help中的Version Control with Subversion一定有所收获。据观察,这份文档和sbuversion安装文件中提供的官方文档一样,这里看起来就更舒服些了。
客户端配置
打开svn视图
安装完毕后即可打开svn视图
或者显示视图:
更快捷的方式是在右上角,点击svn视图图标:
新建资源库
输入url的地址,需要将计算机名转换成ip地址:
选择永久接受:
输入用户名和密码:
如果一切正常即创建了一个资源库:
可以看到了服务器上的目录结构。
SVN服务的使用
共享项目
首先需要将现有的项目共享到服务器上:
选择svn,下一步:
选择建好的资源库,也可以在这里建资源库:
设置文件夹名称:
点击完成,及完成了项目的共享与版本库连接。
接下来即可写入项目第一个版本。
运行到98%的时候可能会停滞很长时间,耐心等候即可。
数据提交
这是可以看到小组菜单里的item已经有变化了。
修改程序后,即可提交:
可以看到对程序的改动已经被记录并提示,是否更新到版本库。
点击确定即可将本地数据提交到服务器版本库。
数据下载更新
在小组中点击更新即可将服务器版本库中的版本下载到本地。
每次开始工作之前从版本库中下载更新,阶段工作完成并测试无误之后提交。会让团队的合作开发变得方便可控。
参考资源:http://www.uml.org.cn/pzgl/200904106.asp
删除或更改项目的资源库位置
若要删除svn服务的资源库,需要先从项目中删除svn信息,可在小组中删除版本共享链接先:
删除版本共享链接
删除资源库位置
回到svn视图中,废弃位置:
这样就使开发的源程序断开了与版本共享库的链接,即退出了svn服务。
更改资源库位置只用新建资源库并配置即可。
Subclipse的卸载
卸载的方法也很简单,也是点击 Help => Software Updates => Manage Configuration
按上图操作就可以卸载了。
注:该文档由J-Hi爱好者"寻找本拉登"提供,他的QQ号为382600911,欢迎大家与他在技术上多多交流