svn简介:SVN(subverion)是一款开源的代码版本管理工具。
svn服务器: 有两种运行方式,独立服务器和借助apache。两种方式各有利弊。
存储版本数据也有两种方式,BDB和FSFS。BDB方式在服务器中断时,可能锁住数据,所以FSFS的方式更安全一些。
svn客户端: 客户端有两类:websvn等基于web的和Tortoise为代表的客户端软件。前者需要web服务器支持,后者需在本地安装客户端。
svn插件: 一些插件可以提供强大的功能,不用在命令行提交了。
一、安装svn 客户端
TortoiseSVN下载:http://tortoisesvn.net/downloads.html
如果出现以下问题:

可以下载相关资源:
http://www.microsoft.com/zh-cn/download/confirmation.aspx?id=8483
安装成功后可继续安装,一直点下一步完成安装。
二、svn使用
svn有很多功能,下面介绍一些功能的使用
(1) 下载代码
1、选择一个空文件夹,右键点击它,选择TortoiseSVN菜单下的Export。。。
2、接着让你输入url,url是项目的SVN地址,如下图所示:
其中的选项不要修改,Omitexternals不要勾选,HEAD revision选中表示最新的版本点击OK即可将代码导出到此文件夹中。
(2) 上传代码
1、 选中需要更新的文件夹,点击右键,选择TortoiseSVN菜单下的Add
如下图:
2、 此时svn客户端会自动识别已经变更过的代码,可根据需要自己选择是否上传,点击OK会显示所有文件已Add成功。如下图:
3、 返回第一步的目录,点击右键,选择“SVN Commit”,如下图:
在弹出的对话框中输入此次变更的备注。
4、 点击ok,此时SVN将代码上传到远程服务端。再次回到第一步的目录,我们发现文件夹标识变为绿色小勾,表示已上传成功。如下图:
(3) SVNcheckout命令
是将SVN服务器的上的项目文件下载到本地目录,尤其是我们第一次从SVN上拉取版本和分支的时候会经常用到。用法和上面讲的下载代码的Export相似。
Eclipse中的SVN
安装:
方法1、先下载好插件:http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=2240
将插件包features和plugins目录中的文件分别复制到Eclipse安装目录的features和plugins中。然后重启Eclipse就好了
方法2:、通过Eclispe安装,如下图:
点击右上方Add按钮,接着输入http://sbuclipse.tigris.org/update_1.8.x,如图:
接着把vision勾上 如图:
接着一直点next就能安裝好。
使用:
1、 共享项目(把本地的项目共享到subversion服务器上)
打开Eclipse,假设要共享Test是项目名称
右键项目Test->Team->ShareProject->Svn,
单库模式下url填写svn://svn server address/,多库模式下url填写svn://svn server address/Repository1,其中Repository1是库的名称
next直到finish,proj1就被共享到svn服务器上了,但是代码并没上传,还需要commit一次
右键项目Test,team->commit,项目内容就被上传到svn服务器了
2、 签出项目(把svn服务器上的项目下载的到本地)
打开Eclipse
window->open perspective->svn repositoryexplorer(如果没有在other里选择)
在左边空白处右键->new->repository location
单库模式下url填写svn://svnserveraddress/,多库模式下url填写svn://svnserveraddress/Repository1(同步骤二)
右键Test->check out
next直到finish,该项目就被签出到本地,切换到java视图就能看到该项目了
控制台 svn
常用的命令
svnhelp
可以查看当前svn支持哪些svn命令
如果想查看具体某个命令,输入svn help 命令名 如 svn help checkout
checkout
指的是从svn服务器上把代码下载到本地,要指明服务器地址
先进如到一个目录(你要下载到的本地目录),然后执行 svncheckout https://xxxx/out 如果是第一次运行,需要输入用户名和密码
update
进入到你要更新的目录,然后输入svn update,即可完成更新操作。
add上传代码或文件到服务器
运行时要确保有这个文件,否则报错
用法为 svn add myfile.txt
commit
提交代码到服务器上,和update类似,但需要输入一个log
用法为 svn commit –m “日志信息”
cleanup
清理命令,能清理某个目录下一些执行失败的事务,用法和update类似
log
查看日志,可以查看某个目录或文件的日志信息,用法和add类似