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. Spring 入门(概述)

    1.什么是框架 2.Spring简介 3.IOC(配置.注解) 4.Bean(配置.注解) 5.AOP(配置.注解.AspectJ.API) 资源: http://spring.io/ http:// ...

  2. virtualbox+vagrant学习-2(command cli)-11-vagrant PowerShell命令

    PowerShell 格式: vagrant powershell [-- extra powershell args] 这将在主机上打开PowerShell提示符,进入正在运行的vagrant机器. ...

  3. Ubuntu16.04如何彻底删除Apache2

    虽然作为运维人员通常情况不建议随意删除Linux系统上面的任何软件,主要指生产环境下,测试环境也不能太随意. 但是有的时候,比如系统环境要变一变,我们就需要替换一些淘汰的软件,对此我们一般都会删除. ...

  4. P1736 创意吃鱼法

    题目描述 回到家中的猫猫把三桶鱼全部转移到了她那长方形大池子中,然后开始思考:到底要以何种方法吃鱼呢(猫猫就是这么可爱,吃鱼也要想好吃法 ^_*).她发现,把大池子视为01矩阵(0表示对应位置无鱼,1 ...

  5. JavaScript跨源资源共享

    CORS(跨 源资源共享)基本思想,就是使用自定义的HTTP头部让浏览器与服务器进行沟通,从而决定请求或响应式应该成功还是失败 IE对CORS的实现 IE8引入了XDR类型,与XHR类似,但可以实现安 ...

  6. Object-c SQLite 数据库内存溢出问题

    最近正在开发一个应用,应用里面使用SQLite 数据库的地方比较多,一些下载的内容都进行了SQLite数据库缓存,应用开发完成之后发现一个严重的问题,程序莫名其妙的崩溃,使用XCode的内存分析工具分 ...

  7. weex中UISegmentControl实现及遇到的问题

    在最近主导的一个项目中,App端的实现使用了weex.通过近一个月的实践,我们发现如果对于人机交互较少的App,即使较少前端经验的人也能迅速进入开发(当然需要一定时间 才能上手weex).在开发的时候 ...

  8. 蓝牙开发<coreBluetooth/CoreBluetooth.h>

    /* 建立中心设备 扫描外设(Discover Peripheral) 连接外设(Connect Peripheral) 扫描外设中的服务和特征(Discover Services And Chara ...

  9. CodeIgniter Doctrine2基本使用(一)(转)

    CodeIgniter Doctrine2基本使用(一) 之前写了一篇文章叫作<CodeIgniter 3.0整合Doctrine2>里面介绍了一些简单的Doctrine2的用法,当然我也 ...

  10. 大数据入门:Maven项目的创建及相关配置

    目录 Maven项目的创建及相关配置 一.Maven的介绍 1.Maven是什么: 2.Maven作用: 3.Maven项目的目录结构: 4.Maven的三点坐标: 5.maven的pom文件: 6. ...