如何安装SVN、配置服务自启,以及在Eclipse中使用SVN
>>本文会尽所能将其中的步骤都描述清楚,并配上一些截图以便帮助初识SVN的朋友更好更快的理解和上手。
>>什么是版本控制
版本控制 , Revision control ,其实最初的时候是应用在工程设计领域,其目的是为了维护工程蓝图的标准,追踪工程蓝图从 诞生到最终确定的过程。
用以记录文件的内容变化,以便查询修改情况。Subvesion 就是实现了版本控制的一项工具,简称SVN,与Tomcat一样,同属于Apache软件基金会组织旗下。
关于SVN的 一些优良特性、工作原理诸如此类理论云云,完全可以在互联网上找到无数一模一样(or相去甚远也不一定)的说法。在此就不过多累述这一部分。
本文会着重写明如何使用SVN。
>>SVN的基本操作
- 检出 (checkout) : 将一个服务器端创建好的项目完整的Down到自己的计算机上使用的,这是后参与项目开发的第一步,一般 只执行一次。
- 更新(update):通常情况下都是在结束了一整段提交工作之后,当再次开始开发时,会先执行一次update将本地文件更新 为服务器端的最新版本。
- 提交(commit):将本地修改提交到服务器端。通常为实现一个功能、完成一个模块时执行一次提交。
>>SVN的安装与配置
安装服务器端程序
Apache维护更新的是Subversion的源码,其各个版本的源码包可以到下面给出的地址去下载。
The best available version of Apache Subversion is : 1.9.5
下载地址:http://subversion.apache.org/download/
如果想要下载傻瓜式安装的msi程序,可以去下面的这个地址:
下载地址:https://sourceforge.net/projects/win32svn/?source=directory
如果是从第二个地址下载下来的应该是名为:Setup-Subversion-1.8.9-1.msi 的安装程序。
没错了,就是它。双击安装。
因为我已经安装了,在此就不演示如何安装。需要注意的是在选择安装路径的时候,确保所选路径 !!!没有中文没有空格没有特殊符号!!!
等待安装完成后,程序会自动配置环境变量 ---> 例如在我的path中的最后会有 D:\SVN\Subversion\bin; 路径。
请务必要确认一下是否安装成功。打开cmd,在命令行输入 svn --version 回车,如果出现以下信息代表安装成功。
如果出现的是"svn 不是内部指令"这样字样,不要惊慌。进入环境变量中,找到系统变量中的path,将SVN根目录的bin目录重写一遍,例如我的D:\SVN\Subversion\bin;
之后确认保存就行了。根据测试,这样确实可以解决问题,具体是因为什么出现这样的问题那就要问问某盖茨了。
配置版本库
在完成了安装并且确认环境无误之后,推荐完成版本库的配置。
建议是这样的,在版本库的上级安放目录中创建一个新的文件夹,用以创建项目所用的版本控制仓库。
例如我的SVN安装在了 D:\SVN\Subversion中,于是我在D:\SVN下新创建一个文件夹叫做“repository”,顾名思义,我将会用这个文件夹作为一个仓库使用。保存所有的项目版本仓库。这样做的好处:不用频繁为每一个项目都搭建一个SVN服务器,这样的话未免也太铺张浪费了。
如何创建版本库呢? 通过指令就能够实现,具体指令如下:
svnadmin create 【参数:指定的路径】
例如 我在D:\SVN\repository下有个要作为版本库的文件夹,名为 EmployeeManager
在命令行中便可以输入 :
svnadmin create D:\SVN\repository\EmployeeManager
正确执行命令后会在EmployeeManager文件下出现以下文件:
conf为存放版本库所使用配置文件的目录;
db为存放版本数据库文件的目录;
hooks为存放版本库钩子程序的目录;
locks为存放库锁,跟踪访问者目录;
format 记录版本
ReadMe 版本库自诉
之后为了确保能够正常的checkout , update , commit 需要修改一下配置文件:找到conf文件夹下的svnserve.conf文件,编辑打开
图中标记的 # anon-access = read , 将read 修改为 write后, 取消前面的#注释保存退出,即为修改成功。
在完成了以上步骤之后,就要开启SVN服务了。只有当其服务启动之后,才能响应客户端的请求管理项目文件。在这里介绍两种方式来开启SVN服务。
其中之一是直接通过命令行来开启,命令格式如下:
svnserve -d -r [Subversion根目录的绝对路径]
啊对了,参数-d代表后台执行,-r代表版本库的根目录
但是通过这种方式启动的SVN服务只要将命令行窗口关闭,服务就被停止了,除了每次都要手动启动不方便之外还可能会有不小心将服务关闭却不自知的情况出现。所以在这里推荐第二种办法来解决这样的问题。那就是注册windows服务,让svn服务在计算机启动的时候就启动。
既然要注册Windows服务,不可避免的要使用sc.exe,这是自带工具,所以直接在命令行中按照以下命令注册服务(但凡出现=号,左边没有空格,右边一个空格):
sc create [服务名] binpath= "运行服务所需要的二进制文件路径以及运行该二进制文件的命令行参数" start= [auto或其他] depend= [所依赖协议]
根据我安装的路径,应该这样:
sc create svnserver binpath= "D:\SVN\Subversion\bin\svnserv.exe --service -r D:\SVN\repository" start= auto depend= tcpip
在执行命令的时候如果出现了拒绝访问,只需要用管理员权限打开cmd就可以解决了。
在确认服务注册成功之后,可以输入命令 net start svnserver(服务名根据自己命令决定)来启动一次。之后服务将会跟随计算机启动而启动。
Eclipse中使用SVN对项目进行版本控制
如果要在Eclipse中使用SVN,则必须要先下载一个eclipse的SVN插件,这个插件可以通过网络下载。
也可以在Eclipse上下载,如果从别的地方下载来的插件,请放在eclipse根目录下的dropins目录下。
之后我们在通过Import,来找到SVN
点击Next >
第一项
输入项目版本库路径,
选择版本库
之后就会出现创建项目的选项,
当创建好项目之后在项目上右键点击,选择Team选项卡,就会出现操作提示了。诸如,提交,更新等。至此,SVN的安装配置、服务配置,以及在Eclipse中连接项目版本库就完成了。