q个是上ơ在eclipse里import后的目截图Q?/p>
发现出现了问P意思是unversioned。我们执行commit命o。右击项?》Team-》提?/p>
提交后,目右下方的图标变成黄色的瓶子,说明eclipse里面目的版本和服务器里面项目的版本一致。如图:
既然是版本控Ӟ那仅仅在一个eclipse里面试svn是没有意义的。所以我在本机安装了W二个eclipse模仿同个工作l的其他用户?/p>
W一个eclipseUCؓAQ第二个eclipseUCؓB?/p>
如图Q现在B建立svn服务器连接?/p>
然后把svn服务器里面A上传的项目checkout到B上?/p>
切换到javaee试图Q发现项目已lcheckout成功?/p>
在B里添加一行代码,commit
q时候我们看AQ它q没提示版本出现不同Q但是代码还是原来那个?/p>
q时候我们可以主动去比较A里面的HelloWorld文g和版本库的最新文件?/p>
现在版本库的HelloWorld文g多了一行代码:
此时我们在A里面执行update命oQ将A的项目更新到和版本库一致?/p>
我们再修改A里面的HelloWorldQ执行commit命o
然后我们在B里面修改HelloWorld.大家注意,此时B里面的HelloWorldq没有update到A的修?
执行commit命o
提示commitp|,所以我们只能先update.执行update命o:
我们会发?多出了一些代?其中.mine表示是我们自׃改的,版本库里面ƈ没有的代?我们只能手动删掉q些提示,如图:
再执行commit命o.
此时q是提示错误,再看一下文?会发现多Z三个文g.
执行Team->标记?消除q三个文?
再次执行commit命o,l于成功?
此时,我们可以把HelloWorld作ؓE_文g,对其q行锁定.Team->锁定
此时,图标变成灰色的勾.
在解锁之?不能再对其进行Q何的修改操作.
我们对A惊醒update的操?
若要文件恢复到update之前的版?先将HelloWorld解锁,然后Team->q原
若要HelloWorld恢复C前提交的版本,右键点击文g,replace with->Local History
选择我们需要的版本,可以查看两者的代码,然后replace
大家去eclipse的工作目录会发现,svn版本控制的项目子目录下都会有一?svn的隐藏文件夹,如果我们要导出没?svn的文件夹的项?可以在项目里Team->导出
到此,eclipse下运行svn的基本命令已l讲?
我的eclipse版本是Version: 3.4.2。本w没有内|对sub的支持,需要去下蝲svn插g?/p>
?a title="http://subclipse.tigris.org/" >http://subclipse.tigris.org扑ֈW合自己eclipse版本的插件的下蝲地址?/p>
我下载的?a >site-1.4.8.zip?/p>
然后在eclipse下安装SVN插g。(SVN下蝲面也有安装的图解教E。不q我q个版本的和它的E有不同。)
点击ADD Site?/p>
点击 Archive。选择下蝲的压~包?/p>
q有另外一U更方便的安装方法。svnclipse|页上给ZEclipse update site URL: http://subclipse.tigris.org/update_1.6.x
我们直接在这里把link输入Qeclipse׃帮我们下载和安装。(׃我已l安装了Q所以它提示已存在完全一L插gQ?/p>
安装成功后,重启eclipse。查看是否有Preferences->Team->SVNQ有则说明安装成功?/p>
新徏一个项目?/p>
新徏一个类Q写上一些代码?/p>
在eclipse中打开SVN视图
在左ҎZ个资源库位置
回到JAVAEE视图,项目import到服务器服务器上:鼠标右键点击目->Team->Share Project
选择SVN
使用刚才定位的仓?/p>
在SVN视图里可以看?目已经导入
先写到这里,下一将写一些基本操作?/p>
Z安全着惻I一般不允许匿名用户。所以将repository\conf目录下的svnserve.conf文g的anon-access = read和anon-access = write加上#注释掉,q将password-db = passwd前面?L。意思ؓ使同目录下的passwd文g生效?/p>
在同目录下的passwd文g里创建用Pqishan = qishan123 其中{号左边是用户名Q右Ҏ密码?/p>
注意Q在一ơ登录后QSVN会将我们的登录信息保存v来存攑֜盘上的文g中,其存放位|ؓQC:\Documents and Settings\[你的dpȝ用户名] \Application Data\SubversionQ如果想要删除该信息Q只需要将该目录中的auth文g夹删除即可?/p>
安装TortoiseSVN http://tortoisesvn.tigris.org 的下载地址如下Q?a title="http://tortoisesvn.net/downloads" >http://tortoisesvn.net/downloads
import命o
安装成功后,新徏一个文件夹Q里面徏一个文Ӟ在次文g夹点击鼠标右键,出现TortoiseSVN的命令菜单,然后选择import命o。将该目录导入服务器中。纳入svn的管理之下?/p>
宿儒服务器地址及其说明
import成功Q?/p>
checkout命o
新徏一个文件夹test4Q点击鼠标右键,选择checklou
输入要checkout的目录?/p>
l色图标表示文g版本和svn服务器版本一?
修改text2.txt文g,保存后图标变成红?表示与服务器版本不一?
若确认修?使svn服务器版本的文g和你所修改的文件一?则需?strong>commit命o
commit成功Q图标又变成l色Q说明svn服务器里文g的版本已l更Cؓ和你所修改的一致?/p>
当别人提交修改后的text2.txt?你原先checkout的是图标变成U色?/p>
如果你想更新至svn服务器最新的版本。这个时候用update命o?/p>
注意Q此时应该在text2.txt所在的文g多w标右键点击svn update
此时图标变回绿Ԍ说明你的文g版本和服务器最新版本一致?/p>
q个时候有个地斚w要注意的是,如果你修Ҏ件后Q没有commitQ但是想回复以前的版本,q个时候不能用updateQ只能删掉这个文Ӟ重新checkout你想要的版本?/p>
最后讲q?strong>add命o
在checkout的文件夹里新Z个文件?/p>
执行add命o:
此时图标变成蓝色Q说明此文g是新增的文gQ但q没在服务器里面更新?/strong>
若要是svn服务器更新次文gQ则Ҏ文g执行commit命o。然后文件图标变成绿艌Ӏ?/p>
到此Qwindows下的svn操作已经描述完了。敬h待下一哈Q?/p>
首先Q我们下载svn安装文gQ输入网址Q?a >http://subversion.tigris.org Q找?a >...more downloads...Q然后找到windows那一块下载,注意Q有两个版本Apache 2.0 or Apache 2.2 Q可以选择和你电脑里面apache服务器同L版本下蝲?/p>
安装完成后,可在命o行输入svn --version查看是否安装成功,以及在系l变量里查看path是否增加了svn的安装目录。如下图Q?/p>
接着Q在服务器端创立创库QrepositoryQ。a.手动在硬盘上创徏一个文件夹?/p>
b.在命令行输入svnadmin create + 仓库目录?nbsp; 创徏版本库。如图:
此时。仓库所在文件夹会多出几个文Ӟ说明仓库创徏成功?/p>
SVN此时已经在你的电脑里准备qAQ下面将介绍SVN的几个常用命令:import QcheckoutQcommitQupdate以及mkdir?/p>
在执行importQcommitQupdateQmkdir的时候,svn需要记录操作日志,Ҏ一Q在pȝ环境变量增加一个SVN_EDITOR变量Q该变量的值取为系l自带的C本:notepad。方法二Q徏立一个log.txtQ作为日志。(一般徏议用Ҏ二,所以我下面用Ҏ二)?/p>
Z便于在命令行下的操作Q先讄svn为允许匿名帐可行读写的操作Q在仓库的conf目录下有一个文件svnserve.confQ用C本打开Q可以看C行:#anon-access = readQ意思ؓ匿名用户有读的权限。将其前面的注释W?L。这一行即生效。再加上一行:anon-access = writeQ赋予匿名用户写的操作。如图:
首先Q启动服务: svnserve –d –r k:\repositoryQ该命o含义SVN此目录作ؓ仓库Qƈ侦听客户端的h。其?d的作用ؓ后台模式Q?r的作用ؓ指定服务器的仓库路径?
建立新的命o提示W,执行mkdir命o在svn创徏一个test的虚拟目录: svn mkdir svn://localhost/test1 –F k:\log.txt 如图
接着Q创Z个test目录Q里面新Z个text1.txt文g。:
命o行{到test目录Q执行import命oQ将test上传到svn服务器?/p>
下面讲述checkout命o?/p>
首先新徏一个文件夹test2Q在命o行{到这个文件夹Q执行: svn checkout svn://localhost/test1。注意,check操作不需要写入log
接着讲述commit命o.
如图,更改checkout下来的text1.txt文g
在命令行执行commit命o: svn commit text1.txt –F k:\log.txt
最后讲qupdate命o:执行svm update text1.txt 取出text1.txt的最新版本?/p>
到此.svn的基本命令讲完了,大家是不是觉得比较麻?没关p?下一将会介lsvn在windows下的操作.
此文为原?如有装蝲h明出?blogjava.net/gdhqs .如有错误,请大家批评指?谢谢!