Chinaunix首页 | 论坛 | 博客
  • 博客访问: 897952
  • 博文数量: 282
  • 博客积分: 10843
  • 博客等级: 上将
  • 技术积分: 2435
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-01 15:23
文章分类

全部博文(282)

文章存档

2013年(1)

2012年(18)

2011年(14)

2010年(30)

2009年(48)

2008年(55)

2007年(55)

2006年(61)

分类: Java

2009-12-29 12:58:36

转自http://www.blogjava.net/gdhqs/

一、安装及常用操作
   SVN相信大家都有使用过或者听说过吧?它的好处我这里就不说了,网上介绍多的是。因为是版本控制,所以个人认为其设计的原理不需要懂得太多,只需要了解 常识即可。小弟google了许久,也没找到一篇介绍快速入门的文章。无奈之下,看了几篇长篇大论,终于学了点点的皮毛。下面我将写一个svn快速入门系 列,因为是快速入门,所以一般只讲操作。(这里有些内容都是参考 深入浅出系列之二_SubVersion)

    首先,我们下载svn安装文件,输入网址: ,找到,然后找到windows那一块下载,注意,有两个版本Apache 2.0 or Apache 2.2 ,可以选择和你电脑里面apache服务器同样的版本下载。

    安装完成后,可在命令行输入svn --version查看是否安装成功,以及在系统变量里查看path是否增加了svn的安装目录。如下图:

未命名

    接着,在服务器端创立创库(repository)。a.手动在硬盘上创建一个文件夹。

    image

    b.在命令行输入svnadmin create + 仓库目录。  创建版本库。如图:

image

    此时。仓库所在文件夹会多出几个文件,说明仓库创建成功。

    SVN此时已经在你的电脑里准备就绪,下面将介绍SVN的几个常用命令:import ,checkout,commit,update以及mkdir。

     在执行import,commit,update,mkdir的时候,svn需要记录操作日志,方法一:在系统环境变量增加一个SVN_EDITOR变 量,该变量的值取为系统自带的记事本:notepad。方法二,建立一个log.txt,作为日志。(一般建议用方法二,所以我下面将用方法二)。

     为了便于在命令行下的操作,先设置svn为允许匿名帐号进行读写的操作:在仓库的conf目录下有一个文件svnserve.conf,用记事本打开,可 以看到一行:#anon-access = read,意思为匿名用户有读的权限。将其前面的注释符#去掉。这一行即生效。再加上一行:anon-access = write,赋予匿名用户写的操作。如图:

image

    首先,启动服务: svnserve –d –r k:\repository,该命令含义为让SVN将此目录作为仓库,并侦听客户端的请求。其中-d的作用为后台模式,而-r的作用为指定服务器的仓库路径。

image

    建立新的命令提示符,执行mkdir命令在svn创建一个test的虚拟目录:  svn mkdir svn://localhost/test1 –F k:\log.txt   如图

image

  接着,创建一个test目录,里面新建一个text1.txt文件。:

image

    命令行转到test目录,执行import命令,将test上传到svn服务器。

image

   下面讲述checkout命令。

   首先新建一个文件夹test2,在命令行转到这个文件夹,执行:  svn checkout svn://localhost/test1。注意,check操作不需要写入log

image 

   

   接着讲述commit命令.

   如图,更改checkout下来的text1.txt文件

image 

在命令行执行commit命令:  svn commit text1.txt –F k:\log.txt

image

    最后讲述update命令:执行svm update text1.txt 取出text1.txt的最新版本。

image

到此.svn的基本命令讲完了,大家是不是觉得比较麻烦?没关系,下一篇将会介绍svn在windows下的操作.

二、window下的操作

    上一篇文章介绍了如果用命令行执行svn命令,比较繁琐,下面将介绍在windows下进行svn操作。

     为了安全着想,一般不允许匿名用户。所以将repository\conf目录下的svnserve.conf文件的anon-access = read和anon-access = write加上#注释掉,并将password-db = passwd前面的#去掉。意思为使同目录下的passwd文件生效。

image

    在同目录下的passwd文件里创建用户:qishan = qishan123   其中等号左边是用户名,右边是密码。

image

    注意:在一次登录后,SVN会将我们的登录信息保存起来存放在硬盘上的文件中,其存放位置为:C:\Documents and Settings\[你的登录系统用户名] \Application Data\Subversion,如果想要删除该信息,只需要将该目录中的auth文件夹删除即可。

    安装TortoiseSVN    的下载地址如下:

    import命令

    安装成功后,新建一个文件夹,里面建一个文件,在次文件夹点击鼠标右键,出现TortoiseSVN的命令菜单,然后选择import命令。将该目录导入服务器中。纳入svn的管理之下。

image

image

宿儒服务器地址及其说明

image

import成功!

image

checkout命令

新建一个文件夹test4,点击鼠标右键,选择checklou

image

输入要checkout的目录。

image

绿色图标表示文件版本和svn服务器版本一致.

image

修改text2.txt文件,保存后图标变成红色,表示与服务器版本不一致.

image

image

若确认修改,使svn服务器版本的文件和你所修改的文件一直,则需要commit命令

image

image

image

commit成功,图标又变成绿色,说明svn服务器里文件的版本已经更新为和你所修改的一致。

image

当别人提交修改后的text2.txt后.你原先checkout的是图标变成红色。

image

如果你想更新至svn服务器最新的版本。这个时候用update命令

注意:此时应该在text2.txt所在的文件夹鼠标右键点击svn update

image

此时图标将变回绿色,说明你的文件版本和服务器最新版本一致。

这个时候有个地方需要注意的是,如果你修改文件后,没有commit,但是想回复以前的版本,这个时候不能用update,只能删掉这个文件,重新checkout你想要的版本。

最后讲述add命令

在checkout的文件夹里新建一个文件。

image

执行add命令:

image

 

此时图标变成蓝色,说明此文件是新增的文件,但还没在服务器里面更新。

image

若要是svn服务器更新次文件,则对次文件执行commit命令。然后文件图标变成绿色。

image

 

image

image

到此,windows下的svn操作已经描述完了。敬请期待下一篇哈!

三、整合Eclipse

    相信大部分javaee的开发人员是用eclipse作为开发工具的,前两篇文章写的是仅有SVN的基本操作,现在这篇文章将会写SVN如何整合eclipse的。让大家真正感受到SVN的好处。

    我的eclipse版本是Version: 3.4.2。本身没有内置对sub的支持,需要去下载svn插件。

image

    在找到符合自己eclipse版本的插件的下载地址。

image

    我下载的是site-1.4.8.zip

    然后在eclipse下安装SVN插件。(SVN下载页面也有安装的图解教程。不过我这个版本的和它的稍有不同。)

image

点击ADD Site。

image

点击 Archive。选择下载的压缩包。

image

还有另外一种更方便的安装方法。svnclipse网页上给出了Eclipse update site URL:

我们直接在这里把link输入,eclipse就会帮我们下载和安装。(由于我已经安装了,所以它提示已存在完全一样的插件)

image

安装成功后,重启eclipse。查看是否有Preferences->Team->SVN,有则说明安装成功。

image

新建一个项目。

image

新建一个类,写上一些代码。

image

在eclipse中打开SVN视图

image

在左边新建一个资源库位置

image

image

 

回到JAVAEE视图,将项目import到服务器服务器上:鼠标右键点击项目->Team->Share Project

image

选择SVN

image

使用刚才定位的仓库

image

在SVN视图里可以看到,项目已经导入

image 

先写到这里,下一篇将写一些基本操作。

    上一篇写了在eclipse里如何把project import到svn服务器里面,这篇将介绍在ecipse里执行svn的基本操作。

     这个是上次在eclipse里import后的项目截图:

image

    发现出现了问号,意思是unversioned。我们执行commit命令。右击项目-》Team-》提交

image

    提交后,项目右下方的小图标变成黄色的小瓶子,说明eclipse里面项目的版本和服务器里面项目的版本一致。如图:

image

    既然是版本控制,那仅仅在一个eclipse里面测试svn是没有意义的。所以我在本机安装了第二个eclipse模仿同个工作组的其他用户。

    第一个eclipse简称为A,第二个eclipse简称为B。

    如图,现在B建立svn服务器连接。

image

然后把svn服务器里面A上传的项目checkout到B上。

 

image

切换到javaee试图,发现项目已经checkout成功。

image

在B里添加一行代码,commit

image

这时候我们看A,它还没提示版本出现不同,但是代码还是原来那个。

image

这时候我们可以主动去比较A里面的HelloWorld文件和版本库的最新文件。

image

现在版本库的HelloWorld文件多了一行代码:

image

此时我们在A里面执行update命令,将A的项目更新到和版本库一致。

image

我们再修改A里面的HelloWorld,执行commit命令

image 

然后我们在B里面修改HelloWorld.大家注意,此时B里面的HelloWorld并没有update到A的修改.

image

执行commit命令

image

提示commit失败,所以我们只能先update.执行update命令:

image

我们会发现,多出了一些代码.其中.mine表示是我们自己修改的,版本库里面并没有的代码,我们只能手动删掉这些提示,如图:

image

再执行commit命令.

image

此时还是提示错误,再看一下文件,会发现多出了三个文件.

image

执行Team->标记为解决,消除这三个文件.

image

再次执行commit命令,终于成功了.

image

此时,我们可以把HelloWorld作为稳定文件,对其进行锁定.Team->锁定

image

此时,图标变成灰色的勾.

image

在解锁之前,不能再对其进行任何的修改操作.

我们对A惊醒update的操作.

若要将文件恢复到update之前的版本,先将HelloWorld解锁,然后Team->还原

image

若要将HelloWorld恢复到以前提交的版本,右键点击文件,replace with->Local History

image

选择我们需要的版本,可以查看两者的代码,然后replace

image

大家去eclipse的工作目录会发现,svn版本控制的项目子目录下都会有一个.svn的隐藏文件夹,如果我们要导出没有.svn的文件夹的项目,可以在项目里Team->导出

image

到此,eclipse下运行svn的基本命令已经讲完.

阅读(1325) | 评论(0) | 转发(0) |
0

上一篇:[转]SQL语句收藏

下一篇:SVN拾遗

给主人留下些什么吧!~~