SVN使用简介

来源:互联网 发布:mac 升级后切换花屏 编辑:程序博客网 时间:2024/06/08 04:13

一、Eclipse 安装 SVN 插件

 eclipse里安装SVN插件,一般来说,有两种方式:

1. 直接下载SVN插件,将其解压到eclipse的对应目录里

2. 使用eclipse 里Help菜单的“Install New Software”,通过输入SVN地址,直接下载安装到eclipse里

 

第一种方式:

1.下载SVN插件

2.下载后安装

下载后的插件包目录结构: 

 将插件包features和plugins目录中的文件分别复制到Eclipse安装目录的features和plugins中。

然后重启Eclipse 

 

第二种方式:

1.菜单操作

 

2.点击“Add”,在弹出的窗口里,输入对应的SVN地址,然后“OK”

 

 

3.在下图中将2个都选中,然后一路点Next,就可以了

 

二、Eclipse使用 SVN

1.从服务器下载project到本地

(1)eclipse中,从show view里调出SVN资源库视图

 

(2)SVN资源库窗口的空白位置右键选择新建资源库位置

 

 

3填好服务器的地址

 

 

(4)资源库导入成功,SVN资源库视图下出现导入的资源库

 

(5)在资源库视图点击资源库左边的小三角形后出现该资源库下的所有project

 

(6)选择要下载的project右键-->检出为

 

(7)自由选择是否更改属性(建议使用默认) --> Finish -->下载成功

 

 

 

2.上传project到SVN服务器

(1)新建project

(2)写好project的初始版本

(3)右键project --> team --> share project

 

(4)选择repository类型为SVN -->点击next

 

(5)使用已有资源库位置

 

(6)使用项目名称作为文件夹名 --> 点击Finish --> 输入用户名和密码(此步不一定每个人都有)

 

(7)自由选择是否打开synchronize视图

 

(8)右键project --> team --> 提交

 

(9)自由选择是否写日志(建议写)

 

(10)点击OK --> 上传到服务器成功,此时刷新资源库,资源库下出现上传的project

3.从服务器更新代码

(1)右键项目project-->与资源库同步

 

(2)选择打开Synchronize视图

 

 

3与本地代码有不同的服务器代码将显示在Synchronize视图下,双击可以查看本地代码和服务器代码的对比,加号的为新增的文件(本地还没有)

 

(4)将模式切换到Incoming Mode,这个模式下的代码都是服务器更新的代码,需要下载到本地的,右键要更新的文件-->team-->更新

 

(5)如果出现下图这个符号,则代表本地代码和服务器代码有冲突

(即:本地代码在未更新到最新版本的情况下,对代码进行了更改;或者在你对a.java写代码的期间,有人往服务器上传了新的a.java代码,使得代码间出现了冲突)

 

四、冲突情况的解决办法

冲突情况1:服务器代码和自己代码改动的地方相同

这种情况比较复杂,一般只能将自己的代码保存一份到本地,然后直接将服务器代码更新下来,然后在新的代码上修改自己的逻辑。

冲突情况2:服务器代码和自己代码改动的地方不同

这种情况比较常见,就是你跟别的开发者都在更改同一个文件,但是由于开发任务是分开的,所以更改的地方是不同的,解决办法如下。

 

1.双击冲突文件进入比较视图

 

 

2.找到服务器上新增的但本地没有的代码块,选中此代码块,点击右上角的按钮(如下图箭头指向的按钮)将服务器代码复制到本地(其他地方也同此操作),如果点击按钮没用,则关闭比较视图重新打开

 

下图为成功将服务器代码复制到本地代码,

 

 

3.将所有服务器上新增的代码复制到本地文件后,右键冲突文件选择标记为合并即可,此时该文件就会消失在Synchronize视图下,并且该文件的代码已经成功将本地代码和远程代码合并到一起

 

 

五、注意事项

1.提交之前先更新

1SVN更新的原则是要随时更新,随时提交。当完成了一个小功能,能够通过编译并且自己测试之后,谨慎地提交。

2.如果在修改的期间别人也更改了svn的对应文件,那么commit就可能会失败。如果别人和自己更改的是同一个文件,那么update时会自动进行合并,如果修改的是同一行,那么合并时会产生冲突,这种情况就需要同之前的开发人员联系,两个人一起协商解决冲突,解决冲突之后,需要两人一起测试保证解决冲突之后,程序不会影响其他功能。

3)在更新时注意所更新文件的列表,如果提交过程中产生了更新,则也是需要重新编译并且完成自己的一些必要测试,再进行提交。这样既能了解别人修改了哪些文件,同时也能避免SVN合并错误导致代码有错。

2.保持原子性的提交

每次提交的间歇尽可能地短,以几个小时的开发工作为宜。例如在更改UI界面的时候,可以每完成一个UI界面的修改或者设计,就提交一次。在开发功能模块的时候,可以每完成一个小细节功能的测试,就提交一次,在修改bug的时候,每修改掉一个bug并且确认修改了这个bug,也就提交一次。我们提倡多提交,也就能多为代码添加上保险。

 

3.提交时注意不要提交本地自动生成的文件

一般配置管理员都会将项目中一些自动生成的文件或者与本地配置环境有关的文件屏蔽提交(例如eclipse中的.classpath文件等)。如果项目中没有进行这方面的配置来强行禁止提交这样的文件,请自觉不要提交这样的文件。提交了这样的文件后,别人在更新后就可能与本地的环境冲突从而影响大家的工作。

 

4.不要提交不能通过编译的代码

代码在提交之前,首先要确认自己能够在本地编译。如果在代码中使用了第三方类库,要考虑到项目组成员中有些成员可能没有安装相应的第三方类库。项目经理在准备项目工作区域的时候,需要考虑到这样的情况,确保开发小组成员在签出代码之后能够在统一的环境中进行编译。

5.不要提交自己不明白的代码

代码在提交入SVN之后,你的代码将被项目成员所分享。如果提交了你不明白的代码,你看不懂,别人也看不懂,如果在以后出现了问题将会成为项目质量的隐患。因此在引入任何第三方代码之前,确保你对这个代码有一个很清晰的了解。

6.提前协调好项目组成员的工作计划

项目经理应该合理分配工作计划。每个成员在准备开始进行某项功能的修改之前,如果有可能,先跟工作小组的成员谈谈自己的修改计划,让大家都能了解你的思想,了解你即将对软件作出的修改,这样能尽可能的减少在开发过程中可能出现的冲突,提高开发效率。同时你也能够在和成员的交流中发现自己之前设计的不足,完善你的设计。

 

7.对提交的信息采用明晰的标注

在一个项目组中使用SVN,如果提交空的标注或者不确切的标注将会让项目组中其他的成员感到很无奈,项目经理无法很清晰的掌握工作进度,无法清晰的把握此次提交的概要信息。在发现错误后也无法准确的定位引起错误的文件。所以,在提交工作时,要填写明晰的标注,能够概要的描述所提交文件的信息,让项目组其他成员在看到标注后不用详细看代码就能了解你所做的修改。

 

8.慎用锁定功能

在项目中要慎用锁定的功能,在你锁定了一个文件之后别人就无法继续修改提交该文件,虽然可以减少冲突的发生率,但是可能会影响项目组中其他人员的工作。平时只有在编辑那些无法合并的文件(例如图片文件,flash文件等)时,才适当的采用锁定操作。

原创粉丝点击