一,什么是SVN ?

   svn是一种版本控制软件,主要作用就是用于公司的项目管理。这里先大概说一下svn的使用流程。

   首先由项目经理在SVN服务器上创建SVN仓库(放项目的地方),并为各个项目成员注册对应的账号。在开始一个项目时,一般项目经理会先把项目文件放到仓库中,成员则新建一个文件夹,右键点击该文件夹,点Checkout,将项目Checkout(把项目下载到本地),然后成员在项目里写好代码后他不需要分别发给其他成员或者经理,只需要做以下几步即可。一,右键项目文件夹update(更新),二,将写好的代码先右键“add”后右键“commit”到仓库,其他成员只需要新建一个文件夹,然后在自己的电脑上,右键Checkout(第二次开始是update)文件夹,即可将该同事上传的代码文件下载下来。

eclipse里安装SVN插件,一般来说,有三种方式:
1. 直接下载SVN插件,将其解压到eclipse的对应目录里
2. 使用eclipse 里Help菜单的“Install New Software”,通过输入SVN地址,直接下载安装到eclipse里
3. 使用eclipse自己的软件市场去下载安装

第一种方式:

Ⅰ.下载SVN插件
SVN插件下载地址及更新地址,你根据需要选择你需要的版本。现在最新是1.8.x

Links for 1.8.x Release:
Eclipse update site URL: http://subclipse.tigris.org/update_1.8.x svn插件包下载: http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=2240 Links for 1.6.x Release:
Eclipse update site URL: http://subclipse.tigris.org/update_1.6.x svn插件包下载: http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=2240 Links for 1.4.x Release:
Eclipse update site URL: http://subclipse.tigris.org/update_1.4.x svn插件包下载: http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=2240

Ⅱ.下载后安装 
下载后的插件包目录结构:

python实现拉取svn代码 svn怎样拉取代码_资源库

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

python实现拉取svn代码 svn怎样拉取代码_Eclipse_02

第二种方式:

ⅰ.菜单操作

python实现拉取svn代码 svn怎样拉取代码_SVN_03

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

python实现拉取svn代码 svn怎样拉取代码_版本控制管理_04

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

python实现拉取svn代码 svn怎样拉取代码_资源库_05

第三种方式: 

㈠. 进入eclipse的help->Eclipse Marketplace,如下图所示:

python实现拉取svn代码 svn怎样拉取代码_资源库_06

python实现拉取svn代码 svn怎样拉取代码_python实现拉取svn代码_07

㈡.在出现的Eclipse Marketplace界面的搜索框中输入“SVN”,然后回车,下面列表中就会出现你要找的SVN插件,点击“install” 

python实现拉取svn代码 svn怎样拉取代码_资源库_08

我这里的eclipse已经安装过SVN的插件了,所以右下角显示的是“installed”而不是“install”

㈢.点击“install”,在后面界面中一直点击“next”就可以完成安装,安装完重启之后就可以使用SVN了

SVN在Eclipse中的使用

将项目提交到SVN服务器

右键项目,选择Team→Share Project

python实现拉取svn代码 svn怎样拉取代码_版本控制管理_09

现在可以选择创建资源库也可以选择使用已有的,我们选择创建新的资源库

将我们的资源库路径粘贴进来,点击Next

python实现拉取svn代码 svn怎样拉取代码_python实现拉取svn代码_10

可以选择将项目名当成资源库中的文件夹名,点Finish结束

选择了将要分享到SVN服务器的项目后我们要进行忽略文件的选取

python实现拉取svn代码 svn怎样拉取代码_版本控制管理_11

现在属性名的下拉选择框中选中”svn:ignore”,然后在”属性内容”的大框框中输入以下文本

python实现拉取svn代码 svn怎样拉取代码_Eclipse_12

这些文件都是我们项目编译时会自动生成的,添加忽略是为了避免冲突

target
.project
.classpath
.settings
gen
bin

python实现拉取svn代码 svn怎样拉取代码_Eclipse_13

在打开的界面中我们在上面的部分输入该次更新的说明,在下面的部分确定将要更新的文件,我们可以看到我们刚刚添加忽略的文件以及文件夹是不会提交上服务器的,确认完成后点击OK

python实现拉取svn代码 svn怎样拉取代码_Eclipse_14

提交完成后我们可以看见我们的gen以及bin文件夹右下方没有表示提交到服务器的标识,再查看我们的SVN服务器,也能看到文件已经位于其中,这就表示我们已经将项目提交到SVN了

python实现拉取svn代码 svn怎样拉取代码_python实现拉取svn代码_15

python实现拉取svn代码 svn怎样拉取代码_版本控制管理_16

将项目从SVN服务器拉取到Eclipse

首先我们需要将SVN资源库选项卡展示出来,打开菜单栏的Window→Show View→Other

python实现拉取svn代码 svn怎样拉取代码_版本控制管理_17

在弹出的窗口文本输入框输入svn,选中SVN目录下的SVN资源库,点击OK

python实现拉取svn代码 svn怎样拉取代码_python实现拉取svn代码_18

可以看到在底部视窗增加了SVN资源库分支窗口

在空白位置鼠标右键单击,选择新建→资源库位置

python实现拉取svn代码 svn怎样拉取代码_Eclipse_19

在弹出窗口中输入我们的资源库位置,然后点击Finish

这样就看到了我们的资源库位置添加到了Eclipse的SVN资源库选项卡之内

python实现拉取svn代码 svn怎样拉取代码_版本控制管理_20

右键单击我们刚刚检出的项目,点击”检出为”(首先需要将之前的项目删除)

python实现拉取svn代码 svn怎样拉取代码_SVN_21

等待从服务器拉取项目,然后我们就成功从服务器将一个项目拉取到本地了

在Eclipse中更新代码至服务器

我们在代码中如果进行了更改,那么左侧显示的目录结构中,改变的文件以及所属文件夹将会在右下角多出一个*号,代表将要更新

python实现拉取svn代码 svn怎样拉取代码_SVN_22

选中我们要更新的项目,右键项目→Team→提交

python实现拉取svn代码 svn怎样拉取代码_python实现拉取svn代码_23

在提交视图我们可以填写一下更新操作,并且能看到我们更新的文件,点击OK即可完成

python实现拉取svn代码 svn怎样拉取代码_Eclipse_24

解决文件冲突item is out of date

当我们提交代码时如果出现提示item is out of date 应该如何解决呢?

python实现拉取svn代码 svn怎样拉取代码_资源库_25

我们右键我们的项目,先更新一次,会发现我们冲突的文件出现了别的副本,并且代码也会有别的内容显示

python实现拉取svn代码 svn怎样拉取代码_python实现拉取svn代码_26

我们选中我们有冲突的文件,开始编辑冲突

python实现拉取svn代码 svn怎样拉取代码_python实现拉取svn代码_27

在上面面板我们选中出错的地方,会将定为缩小,然后改动我们有冲突的代码

python实现拉取svn代码 svn怎样拉取代码_资源库_28

更改后按Ctrl+S保存,回到我们之前的代码文件会发现多出来的内容也消失了

python实现拉取svn代码 svn怎样拉取代码_Eclipse_29

再回到我们刚刚编辑好的文件,右键后选择标记位解决

python实现拉取svn代码 svn怎样拉取代码_版本控制管理_30

我们选中第一个选项,并按确定

python实现拉取svn代码 svn怎样拉取代码_python实现拉取svn代码_31

然后我们发现那几个多出来的副本已经消失,并且之前冲突的文件右下角也变成了*号代表可以更新

python实现拉取svn代码 svn怎样拉取代码_版本控制管理_32

再次尝试提交

python实现拉取svn代码 svn怎样拉取代码_python实现拉取svn代码_33

这次提交就可以在Console菜单栏看到我们成功提交了

python实现拉取svn代码 svn怎样拉取代码_版本控制管理_34