SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。集中式代码管理的核心是服务器,所有开发者在开始新一天的工作之前必须从服务器获取代码,然后开发,最后解决冲突,提交。所有的版本信息都放在服务器上。如果脱离了服务器,开发者基本上可以说是无法工作的。下面举例说明:

  开始新一天的工作:
  1、从服务器下载项目组最新代码。
  2、进入自己的分支,进行工作,每隔一个小时向服务器自己的分支提交一次代码(很多人都有这个习惯。因为有时候自己对代码改来改去,最后又想还原到前一个小时的版本,或者看看前一个小时自己修改了哪些代码,就需要这样做了)。
  3、下班时间快到了,把自己的分支合并到服务器主分支上,一天的工作完成,并反映给服务器。
  这就是经典的svn工作流程,从流程上看,有不少缺点,但也有优点。

  在实际开发中,合作开发是必不可少的,一个优秀的项目后面大多都是有一个优秀的团队的,但是人多了自然也就带来了一个显而易见的缺点,那就是代码过于分散,因为每个人负责的功能不一样,所以如何合理高效的管理团队中所有人的代码就显得尤为重要了,而SVN就是一个用来管理项目的版本管理系统。只需要在中心服务器上创建一个项目,团队中的成员需要对该项目进行更新时,只需要到服务器上将项目检出到自己电脑上,然后进行相应功能的实现,实现功能后,只需要再将自己写的代码提交到服务器上,团队中的其他成员就可以使用自己实现的功能了。当然这里面还涉及到版本控制以及分支创建及合并,当然这都是后话了。今天我主要是分享一下SVN在eclipse中的安装以及简单使用。

  首先准备工作:安装好eclipse以及一个SVN服务器,假设你已经有了啊,反正我是有的。对于没有SVN服务器的同学,可以去到官网下载一个,然后在自己电脑上安装,将自己的电脑作为一个SVN服务器,不过这样子严格来说是不可以的,因为我们用一个SVN管理就是为了将自己的代码备份,怕万一自己的电脑出现问题,导致代码丢失。不过如果只是为了学习,我们暂时可以将自己的电脑作为一台SVN服务器,其官网地址:https://www.visualsvn.com/server/download/,安装过程很简单,一直下一步就好了。这里不做重点。

1、安装subclipse插件

  1-1、上述准备工作完成后,接下来就需要到eclipse中下载SVN插件,以方便可以直接在eclipse中对托管在SVN上的项目进行提交及更新。打开eclipse后,点击help---->eclipse marketplace进入到eclipse插件安装。

  1-2、然后在搜索框中输入subclipse----->回车,找到subclipse,然后点击右下角的install进行安装。

  1-3、点击安装后,等待一段时间,会出现提示你需要安装的文件,默认全选就好,然后点击confirm。

  1-4、进入到下一步后,就会问你是否同意安装,跟我们在电脑上安装软件是一样的,如果不点击同意安装,是不能安装的。然后点击finish。

  1-5、点击finish后,我们就可以在eclipse软件的右下角看到当前安装进度,在安装过程中可能会弹出某些提示框,我们点击同意就好了,然后一直等待它安装完成。安装完成后,会提示我们是否立刻重启eclipse,因为需要重启eclipse后,新安装的插件才能使用。我们点击立即重启:restart now。

2、SVN资源库

  2-1、到这里我们就已经在eclipse中按装好了subclipse了,接下来我们就可以直接在eclipse中看到我们的SVN资源库中有哪些项目了,我们点击Window---->show view---->other,然后选择SVN资源库,点击open。这个时候SVN资源库会出现在“问题视图”窗口中。注:问题视图即我们常说的“后台”,用于显示代码或项目配置的错误,双击错误项可以快速定位代码。

  2-2、通过上面的操作,我们就打开了SVN的资源库了,那么现在我们添加一个资源库,可以在窗口内单击右键----》新建----》资源库位置,或者点击右上角的添加SVN资源库按钮,如下图所示:

 

  2-3、添加新的SVN资源库,在位置“url”中输入正确的服务器地址,然后Finish即可。在工作中,我们都是可以直接问上司就可以知道服务器地址了。点击finish后,如果出现了需要我们填写用户名和密码的窗口,那么就把我们自己的svn用户名和密码填写上就好。

3、上传项目

  3-1、我们选择好SVN资源库,现在可以看到当前SVN资源库中是空的,什么都没有,那么我们现在就往SVN服务器上传一个测试项目,我们在我们的eclipse项目列表,随便找一个项目,然后点击右键---->team----->share project,然后选择SVN,再点击next。

  3-2、选择SVN资源库中的文件夹名,或者可以使用指定的模块名,这个是已经在服务器指定好的,finish完成。

  3-3、将项目共享到SVN服务器,需要给项目重新制定位置,我们这里选择项目名称作为该文件夹名称,然后单击finish。导入完成时,它会提示我们是否现在打开项目透视图。我们没必要打开。那么现在我们就可以在SVN资源库位置看到我们刚刚上传的项目文件了,这个时候其他成员就可以直接到该SVN服务器地址位置进行下载。

  3-4、我们每次在提交时,都会需要对此次提交内容进行注释,以便其他成员知道我们做了什么,也方便日后自己进行版本回滚时,知道回滚到什么位置。给提交填写好注释后,就可以点击OK将此次改动提交到SVN上了。

  3-5、如果我们需要查看当前项目的提交历史记录,只需要到SVN资源库中,找到该项目,然后选中该项目,单击右键----->显示资源历史记录。就可以查看到该项目的所有提交历史,以及是由谁提交的,等信息都可以一目了然。

4、下载及更新项目

  4-1、为了可以将SVN服务器中的项目导入到我的eclipse中,我把我eclipse中的项目删除了。然后我们到SVN资源库,找到我们需要下载的项目,选中它单击鼠标右键--->检出为。即可直接将SVN上的项目导入到我们当前eclipse的工作目录下,然后直接在eclipse的项目列表中就可以看到我们刚刚检出的项目。

  4-2、当我们本地上已经有了该项目后,但是当SVN服务器上的项目已经被其他成员更改过了,所以需要将SVN服务器上的最新的项目更新到本地。那么我们可以直接选中项目,单击右键--->team---->更新。

  最后如果我们需要删除某个SVN上的项目时,只需要到SVN资源库中找到对应的项目,单击右键---->删除。就OK了

详细介绍svn在eclipse中的使用(附图解说明)的更多相关文章

  1. 详细介绍如何在Eclipse中使用SVN

    一.在Eclipse中下载安装Subclipse插件   1 打开eclipse,在Help菜单中找到marketPlace,点击进入. 2 在搜索框Find中输入subclipse,点击右边的Go按 ...

  2. Xcode中c++&Object-C混编,详细介绍如何在cocos2dx中访问object函数以及Apple Api

    转自:http://www.himigame.com/iphone-cocos2dx/743.html Cocos2dx系列博文的上一篇详细介绍了如何在Xcode中利用jni调用Android的Jav ...

  3. 新手通过SVN向eclipse中导入项目注意事项

    该文章进行的前提是,jdk.eclipse.tomcat.maven已安装完成 要从svn上获取项目数据,首先要安装svn 1)通过help->installsoft->svn->a ...

  4. Svn在eclipse中使用

            首先下载SvnAdt,我这里有个中文版的. 下载地址是  http://dl.vmall.com/c0i19tiqbq         你在其它地方下载的文件的话,解压文件后,把fea ...

  5. ubuntu/linux中安装Tomcat(附图解详细步骤)

    我的linux系统使用的是ubuntu14 1.首先需要先到Tomcat官网上下载对应linux系统的压缩包,可以直接在Ubuntu系统中进行下载,下载后的默认路径为主文件夹路径下的下载文件目录下 注 ...

  6. 在eclipse中使用svn

    作为一名程序员,svn是比较常用也必然会使用到的一个工具,它的全拼为Subversion,是一个开源的版本控制系统,可以对每次修改的文件和目录进行准确记录,以便在使用的时候及时提取.本文主要介绍如何在 ...

  7. eclipse中SVN分支合并到主干

    在项目开发中,需要添加一些新的功能,但是又不想影响到其他开发人员的项目进度,所以决定使用SVN分支进行开发,分支开发完毕后再合并到主干.本文介绍如何在eclipse中合并分支到主干. 1. 要想将分支 ...

  8. 图文:eclipse中SVN分支合并到主干

    在项目开发中,需要添加一些新的功能,但是又不想影响到其他开发人员的项目进度,所以决定使用SVN分支进行开发,分支开发完毕后再合并到主干.本文介绍如何在eclipse中合并分支到主干. 1. 要想将分支 ...

  9. C++中引用与指针的区别(详细介绍)

    C++中引用与指针的区别(详细介绍) C++中的引用与指针的区别   指向不同类型的指针的区别在于指针类型可以知道编译器解释某个特定地址(指针指向的地址)中的内存内容及大小,而void*指针则只表示一 ...

随机推荐

  1. 遇见C++ Lambda

    转自:https://www.cnblogs.com/allenlooplee/archive/2012/07/03/2574119.html 遇见C++ Lambda Written by Alle ...

  2. SPL 笔记

    PHP  SPL是指 standard  php library,php标准库. SPL提供了一系列的类和接口,使用这些类和接口,我们可以更加高效.优雅的使用php进行程序设计.   从php5.0开 ...

  3. 安装VMware,Linux

    不是每一个程序员都必须玩过linux,只是博主觉得现在的很多服务器都是linux系统的,而自己属于那种前端也搞,后台也搞,对框架搭建也感兴趣,但是很多生产上的框架和工具都是安装在服务器上的,而且有不少 ...

  4. ThinkPHP5 核心类 Request 远程代码漏洞分析

    ThinkPHP5 核心类 Request 远程代码漏洞分析 先说下xdebug+phpstorm审计环境搭建: php.ini添加如下配置,在phpinfo页面验证是否添加成功. [XDebug] ...

  5. Day1 Mybatis初识(一)

    框架 将重复的,繁琐的代码实现封装,让程序员将更多的精力放在业务的理解和分析上. 框架的作用 提高开发效率 隐藏细节 三大框架SSH  -->   SSM 1)        表述层:   用户 ...

  6. istio 配置解读

    Istio在服务网络中统一提供了许多关键功能: 流量管理:控制服务之间的流量和API调用的流向,使得调用更可靠,并使网络在恶劣情况下更加健壮. 可观察性:了解服务之间的依赖关系,以及它们之间流量的本质 ...

  7. python基础整理4——面向对象装饰器惰性器及高级模块

    面向对象编程 面向过程:根据业务逻辑从上到下写代码 面向对象:将数据与函数绑定到一起,进行封装,这样能够更快速的开发程序,减少了重复代码的重写过程 面向对象编程(Object Oriented Pro ...

  8. PAT乙级1021

    1021 个位数统计 (15 分)   给定一个 k 位整数 N=d​k−1​​10​k−1​​+⋯+d​1​​10​1​​+d​0​​ (0≤d​i​​≤9, i=0,⋯,k−1, d​k−1​​& ...

  9. vue-cli代理开发

    如何设置接口代理? 一.找到config文件下的index.js 二.找到dev里面的proxyTable他的值就是一个{},这里为了方便配置配置文件单独写成一个文件 dev: { env: requ ...

  10. jQuery 基础与运用

    1.  jquery引入以及入口函数 引入方式 <!--方式一:下载到本地,引入路径--> <script src="jquery-3.1.1.min.js"&g ...