SVN的安装与使用
SVN安装与使用
一、SVN简介
svn(subversion)是近年来崛起的版本管理工具,是cvs的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。
二、SVN的安装
SVN安装时分为服务器端和客户端
1、服务器端的安装:
如果将自己的电脑作为服务器则需安装两款软件:和
2、客户端的安装:
如果将自己的电脑作为客户端则只需安装一款软件:
注意:安装好软件之后,重启电脑。
3、Myeclipse中SVN的插件安装:(注意:在这里我使用的是Myeclipse8.6版本的,因为Myeclipse8.5的版本我曾经安装过,但是没有成功,其他的版本没有尝试过)
3-1、将这个压缩包解压,选择其中的和
这两个文件件,其他的文件不要。
3-2在Myeclipse8.6的安装路径Genuitec\MyEclipse-8.6文件夹下面新建myPlugin/svn 文件夹,将3-1中选择的两个文件夹复制到svn文件夹下面。
3-3,在Myeclipse8.6的安装路径Genuitec\MyEclipse-8.6\dropins文件夹下面新建文件svn.link,输入path=D(这是我安装盘符的位置): \\Genuitec\\MyEclipse-8.6\\ myPlugin\\svn(注意svn.link中的是双斜杠前面的路径就是你Eclipse的安
装路径)
3-4、重启Myeclipse8.6就OK
三、资源库的创建与配置
1、在你电脑中的任意盘符中创建一个文件夹Respository(这是我自己命名的),进入到Respository文件夹里面单击右键出现如图
,在此创建资源库
2-1、创建资源库成功之后,进入到文件夹里面,打开svnserve.conf 这个文件,这里面有有几个地方需要修改一下:
改为
2-2、创建用户名和密码
打开pass文件,创建用户名和密码
2-3、用户权限配置
打开authz文件,在[groups]下面添如下内容
这一段表示:在小组中开发的成员有zhangsan,lisi,wangwu
下图则表示每个成员对包的权限
这一段话表示admin是张三,他是管理员,他可以对所有的项目进行访问和修改,在包名1下lisi可以对里面的内容进行访问和修改,wangwu则只能访问包名2里面的内容,不能修改。在包名2下,wangwu可以进行访问和修改,其他的人不能访问除了管理员。
到这一步,SVN的基本配置完成
四、SVN的使用
1、在服务器端启动SVN服务器,双击svnstart.bat批处理文件,需要注意的是
在批处理文件中有两点需要注意:(划横线的地方是与资源库的位置有关,你们根据具体来修改)
2、启动Myeclipse8.6,在Windows→Show View→Other中打开SVN的资源库的窗口如图:
3、在这里,我将我的电脑作为客户端,来访问服务器
步骤1、在SVN资源库的窗口中单击右键如图:
在弹出的界面中输入以下内容:
单击finish按钮,此时又弹出一个界面要你输入用户名和密码如图:
单击OK,此时,SVN资源库会出现如下内容:
注意:此时Tarena这个工程并没有在你的电脑上,它还是在服务器上面,你需要将它下载到本地电脑上面来进行操作,右键单击Tarena这个工程名,选择检出为,如图:
当选择检出为时,又会弹出一个页面,如图
单击finish,完成,此时,在PackageExplorer窗口中新增加了一个窗口,如图:
步骤2、接下来,我们需要进行的操作是,每次进行修改时,都要提交给数据库,以便小组的其他成员的该工程是最新的,便于开发,如图:
我在此处新加了一个输出语句, 保存。
步骤3、右键单击PackageExplorer中的Tarena,选择Team中的提交,如图:
此时,将会弹出一个页面,
在划横线的地方,写出你在工程中修改的地方,以便于小组中其他成员知道你修改了什么地方。
单击Ok,整个项目就做好了修改
4、如果将自己的电脑作为服务器,来发布项目的步骤
步骤1、在自己的Myeclipse8.6中新建一个工程Test,
步骤2、发布项目时,单击右键,如图:
此时会弹出一个页面,选中SVN,单击Next,如图:
在下面的页面中选择使用已有资源库的位置,单击Next,如图:
接下来,一路狂点Next,到最后点finish,就完成了项目的发布
获取最新的项目的步骤,
右键单击项目名→Team→更新,此时就会显示最新的版本的代码。
5、查看历史记录
如果,想将代码恢复到以前的某一个时间段,此时的步骤如下:
步骤一、右键单击你需要恢复到以前的工程名,选择Team 显示资源历史记录,此时就会显示一个对话框,如图:
步骤二、比如说,我想恢复到2012年3月15日上午7:41时,右键单击想恢复的日期,如图:
选择Swith to Revision 24,则工程将会恢复到以前的版本。
关于SVN的另外一些功能,比如锁定,比较哪段代码具体修改了哪些地方,等等,大家有时间可自行研究