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. 【Alpha】事后诸葛亮

    一. 项目的预期计划 / 项目的现实进展 详见Alpha冲刺博客第一篇 二. 完成项目过程中的体会 详见Alpha冲刺博客第十二篇 三. 团队成员的分工及在Alpha阶段的工作量比例 成员 职务 博客 ...

  2. Hadoop学习之路(十三)MapReduce的初识

    MapReduce是什么 首先让我们来重温一下 hadoop 的四大组件: HDFS:分布式存储系统 MapReduce:分布式计算系统 YARN:hadoop 的资源调度系统 Common:以上三大 ...

  3. 20155314 2016-2017-2 《Java程序设计》第9周学习总结

    20155314 2016-2017-2 <Java程序设计>第9周学习总结 教材学习内容总结 了解JDBC架构 掌握JDBC架构 掌握反射与ClassLoader 了解自定义泛型和自定义 ...

  4. openstack排除查找错误的两种方法

    1.openstack日志一般放在什么什么位置?2.如何调试openstack命令执行过程? 我们会经常错误,但是我们碰到错误该怎么做,该如何找到原因.对于openstack有两种办法:在上一篇文章h ...

  5. 20145203 盖泽双《Java程序设计》第一周的学习总结

    20145203 盖泽双<Java程序设计>第一周学习总结 教材学习内容总结 第一章 1.Java是一门完全面向对象,安全可靠,与平台无关的编程语言. 2.Java现由Java SE.Ja ...

  6. PAT乙级1028

    1028 人口普查 (20 分)   某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的——假设已知镇上没有超过 ...

  7. 在线扫描PDF JPG 图片上面文字

    在线扫描PDF JPG 图片上面文字

  8. fio是如何运行的?

    本文主要介绍fio是如何运行的,并且以单线程.单job为例 fio的入口在fio.c中的main函数,下面列出了main函数,此处只出示了一些调用的关键函数 int main(int argc, ch ...

  9. fdisk与parted分区

    我所接触的linux分区分为两种,一种是使用fdisk分区,另外一种是parted分区.前者是针对MBR模式分区的,后者是针对GPT模式分区的 fdisk分区: fdisk -l ---->查看 ...

  10. oracle 事务 数据伪列

    在用户进行数据更新操作(DML)事务一定会起作用. 事务的出现会保证数据的完整性.一致性.在整个事务的处理过程之中主要使用两个操作命令: · 事务的提交(COMMIT):是真正的向数据库之中发出更新指 ...