SVN的使用

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

目录

SVN的使用 1

1.svn插件的安装: 1

2.SVN使用 2

2.1导入项目 2

2.2项目修改后进行提交 3

2.3更新操作 4

2.4加锁和解锁 5

2.5查看历史修改及版本还原 6

2.6分支/合并 9

2.6.1合并修改的范围 11

2.6.2复兴合并 11

2.6.3用于基于合并 12

2.6.4合并两种不同的树 12

2.6.5手动记录合并信息(阻塞一个或多个修改) 12

2.6.6手动删除合并信息(开启一个或多个修改) 12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.svn插件的安装:

1.1 link安装

网址:http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=2240

 

点击下载后下载为压缩包

 

只要使用其中一个压缩包就行了,最新的是site-1.8.22.zip。   (2015127)

,解压后将其文件夹靠别到:MyEclipse的安装目录下的dropins,在此目录下下新建文件svn.link,内容是:path=D:\MyEclipse\dropins,其中路径为你的MyEclipse安装路径,重启MyEclipse即可出现SVN

 

1.2直接解压

使用第一种方式的解压包,全部拷贝到dropins下,重启MyEclipse即可出现SVN。(这种方式不一定成功,我又结合第一种方式)。

1.3在线安装

MyEclipse中打开HELP-->MyEclipse Configuration Center。切换到SoftWare标签页。

 

选择add site,输入以下内容,点击OK

 

将会出现以下内容

 

在左边栏中找到Personal Site中找到SVN展开。将Core SVNKit LibraryOptional JNA
Library添加(右键Add to Profile)Subclipse下面的Subclipse Integration for Mylyn
3.0可以不添加(特别注意,此处不要添加)。
在右下角窗格(Pending Changes )中点击Apply。安装重启后MyEclipse即可。

 

2.SVN使用

2.1导入项目

 

如果是创建新位置,选第一个

 

选择需要检出的文件夹,完成。

 

2.2项目修改后进行提交

  如果对于提交过会显示圆柱形标记,修改未提交的会显示“*”标记。

 

在修改过的文件上执行如下操作进行提交(选择提交备注,选择文件,OK

注意:当一个用户进行对已经修改的文件进行提交时,如果此时服务器上的版本比该文件基于的版本要新,则会产生冲突,不允许用户进行上传。

该用户必须获得服务器上的新版本,与本地的修改进行合并,然后才能进行上传。

 

2.3更新操作

   选择更新操作保持项目和服务器最新项目一致

 

2.4加锁和解锁

为了防止文件冲突,可以对文件进行加锁(防止别人提交该文件)。

 

解锁后其他人可以提交该文件。

但是如果自己新创建一个文件,肯定是不允许加锁的。原因是服务器上并没有该文件,其他任何人没哟权限进行对没有上传过的文件进行提交操作。

例如:在WebRoot中新建一个login.jsp(此时标记为“?”),右击记性加锁是不行的。

 

2.5查看历史修改及版本

 

在项目上右击选择Restore from Local History,查看History列表。

在右边的History列表中有各个修改版本信息和修改时间,选择需要还原的版本进行比较

在这里可以查看两个版本的不同之处,方便选择。

或者直接在项目上右击选择,效果相同。

 

 

 

2.6分支/合并

 

创建分支是trunk版的一个copy版,所以名称和原名称应该不同

 

切换进行不同分支的开发

 

合并

 

 

合并方式分别对应如下的类型。

2.6.1合并修改的范围

把分支上的修改合并到主干上去。在主干上右击选择合并,然后选择合并类型:(Merge a range of versions)。合并的原URL填写的是需要合并的分支的URL待合并的版本范围如果为空,则指的是合并分支上所有的版本,即自从分支创建以来到分支当前最新版本的所有演变。如果只是选择其中一个版本,或者几个版本,那么就表示只是将制定的n个版本的变化合并到主干上。如果只是选择其中一个版本,那么表示只是选择那个版本的修改,之前或之后的修改将不被采纳。

2.6.2复兴合并(Reintegrate a branch

复兴合并可以理解为是第一种合并类型的一种特例,在复兴合并中,主干可以理解为是自从开创分支之后没有任何修改,而分支是经过修改的,而且合并中分支是没有版本选择的。经过复兴合并,分支中所有的修改都会合并到主干中,合并的结果将使得分支和主干一模一样,从而可以删除分支。

2.6.3用于基于合并

2.6.4合并两种不同的树

Merge a range of versions)、(Reintegrate a branch)不同。第一种类型可以选择分支合并的版本,主干不能选择版本;第二种类型是主干和分支都不能选择合并的版本;而这种类型则是无论是主干还是分支都可以选择合并的版本,即可以选择过去的一个主干版本与分支的某个版本进行合并。合并的时候以选择的分支版本为主,如果选择的主干版本与分支版本有不同的地方,合并时主干部分将被放弃。

起始URL:选择主干目录的URL(应当和当前工作副本的URL一致,这个是所谓的合并点)

结束URL:选择要合并的分支的URL

起始和结束的版本:一般起始版本应当找到最后一次同步时的版本,如果从没有同步过(第一次合并),则选择创建分支时的版本,结束版本一般是最新版本,如果你不想将某些内容合并进主干的话,也可以选择一个合并点。

 

2.6.5手动记录合并信息(阻塞一个或多个修改)

2.6.6手动删除合并信息(开启一个或多个修改)

在此基础上针对不同的要求进行不同的选择。

 

3.svn相关概念

Tags

Tags是项目在某个时刻的快照(snapshot)。对于SVN来说,每一次资源库的修订都是一次快照。

Tag可以用来建立milestoneTag仅仅是项目某一时刻的标记,与工作空间、分支等没有任何关系。

SVN中的tag允许自定义名称,这样可以方便的根据tag名称获取项目某一时刻的版本。

Trunk/Branch

Trunk是项目工作的主干道,也可以理解为项目开发的原始路线、主开发进程。如果没有特殊的要求,项目会一直在trunk中进行。

在某个时刻,可能需要创建工作文档的第二个拷贝,然后单独维护这个拷贝。这就有了branch的概念,一个与其他开发进程独立的开发进程。一个主干道上可以创建多个branch。此时SVN的版本号(revision)会有变化。SVN的版本号对于整个SVN来说是递增的。

 

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐