以下博文引用《https://blog.csdn.net/u013067756/article/details/73302758》,再此仅供学习和参考。

Svn是什么?

SVN(全称Subversion)是一个代码的版本控制系统。一个本地的非常好的对代码版本进行管理的代码库,能永远多个人共同开发同一个项目,公用资源。

SVN分为服务端和客户端,对于开发人员来说,一般装客户端就行了,进行代码的下载和提交;服务端是对代码版本进行管理的代码库。

svn的基本工作原理是:在一台服务器上建立一个源代码库,库里可以存放许多不同项目的源程序。有源代码库管理员统一管理这些源程序。每个用户在使用源代码库之前,首先要把源代码库里德项目文件下载到本地,然后开发人员可以在本地修改,左后用svn命令进行提交,游源代码库统一管理修改。

代码管理流程:

SVN有什么好处?

(1)代码管理混乱

(2)解决代码冲突困难

(3)在代码整合期间引发bug

(4)无法对代码的拥有者进行权限控制

(5)项目不同版本的发布困难

对比:现在比较流行的有云端的是:git, 世界通用的GitHub。

1,SVN客户端:(TortoiseSVN)

(1)直接安装图解步骤,http://jingyan.baidu.com/article/358570f6638aa4ce4724fcf7.html

(2)Eclipse中添加插件方法步骤:http://blog.csdn.net/jieshaowang1229/article/details/51594992

2,SVN服务的安装:(Visual Service)

安装教程:http://www.cnblogs.com/jiahuafu/archive/2012/12/22/2828955.html

服务端安装好之后的配置:

(1)设置或添加用户:

(2)创建一个代码库例如:SSM,在后面会给出一个访问的URL路径:

(3)SVN服务端的测试:

在浏览器中输入上面那个URL的路径:https://Alex/svn/SSM

如果出现以下页面说明安装成功:

3,SVN的应用:

(1)SVN客户端的应用:

方式一是直接新建文件checkout;

方式二是在Eclipse/vs2012/myeclipse 中执行。

当需要下载代码是,新建一个文件,右击选择“SVN Checkout”,填入svn的地址就可以了,如下:

(2)SVN服务端的应用:

下面的那个URL就是刚才新建库的URL:https://Alex/svn/SSM/

下一步,选择“使用指定的模块名”,选择刚刚新建文件的“trunk”:

接下来就是提交了,一般的攻城狮都会编辑注释,做了什么工作或改了什么东西。

此时,SVN服务端还是没有代码,还没有完成上传,还要进行上传:

(注意:其中的.settings文件,target文件,.project和classpath都是每一个人有各自的值,提交之后,就会造成冲突,所以可以设置过滤或忽略,最后只剩下src文件和pom.xml文件就行。)

设置之后,在进行最后一步:提交代码。

去查看svn服务端,可以看到trunk中有了“taotao-parent”,里面有了src文件和pom.xml如下:

之后就是按同样的方式进行其他文件的上传提交了。

测试从服务器中down代码:

可以将自己之前的代码删去,测试能不能从自己的svn中down代码下来。Import代码:

Down下代码来,没有“m”标志,也就是没有maven,不是maven项目,这怎么办?

右击项目,将其configurate -à convert to maven project

效果如下:都有“M”了。

但是之前是七个项目,现在才三个,在“taotao-manager”里面的四个项目怎么弄?

选中taotao-managerà右击 “import”-à这次是选择maven--àexist-à只要是有pom.xml, 它自动认为是存在一个项目的,所以:将所有项目convert to maven,且都down下来结果如下:

总结:

如果只是用SVN 客户端,那就好说了,非常的简单,主要是down代码和上传代码。

如果是还管理SVN服务端,就要多多的注意。

总之,先把代码传到SVN中,需要忽略.setting文件,target文件,“.project”和“.classpath”;下载代码之后,需要转换成maven项目;对应聚合工程使用导入存在maven工程导入到Eclipse中。

参考文章:

http://www.cnblogs.com/green-jcx/p/5966620.html

史上最全SVN 教程的更多相关文章

  1. sentinel (史上最全+入门教程)

    文章很长,建议收藏起来,慢慢读! 高并发 发烧友社群:疯狂创客圈 为小伙伴奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : 极致经典 < Java 高并发 三部曲 > 面试必备 + 大厂 ...

  2. Redis史上最全文章教程

    Redis 2020 史上最详细Redis教程 本篇文章并不讲解Redis,只是收集 Redis的优质文章教程 ,文章包含三部分: 理论.编程实战 .面试题. 需要有一定编程功底的人学习 ,如果基础不 ...

  3. 如何在VPS上搭建WordPress博客网站(史上最全图文教程)

    由于现在很多人仍然使用共享主机,所以我决定写这篇教程,教你如何设置自己的虚拟专用服务器(VPS),以便为启动一个 WordPress 网站准备好所有必要的服务. 为什么共享托管不是最好的选择? 你的 ...

  4. 史上最全: svn与git的对照(二):svn与git的相关概念

    如图1是svnserver端数据的文件夹结构 以下是gitserver端的文件夹结构 纵观svn和git服务端的文件夹结构我们非常easy发现 1.有些目录还是蛮像的.甚至是一样的比方说svn中的co ...

  5. ElasticSearch集成SpringData史上最全查询教程

    1.简单介绍 springboot 使用springdata操作es,ElasticsearchRepository使用QueryBuilder构造查询条件 2.集成es //maven集成 < ...

  6. nacos 实战(史上最全)

    文章很长,而且持续更新,建议收藏起来,慢慢读! 高并发 发烧友社群:疯狂创客圈(总入口) 奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : 极致经典 + 社群大片好评 < Java 高并发 三 ...

  7. Redis分布式锁 (图解-秒懂-史上最全)

    文章很长,而且持续更新,建议收藏起来,慢慢读! 高并发 发烧友社群:疯狂创客圈(总入口) 奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : 极致经典 + 社群大片好评 < Java 高并发 三 ...

  8. Zookeeper 分布式锁 (图解+秒懂+史上最全)

    文章很长,而且持续更新,建议收藏起来,慢慢读! 高并发 发烧友社群:疯狂创客圈(总入口) 奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : 极致经典 + 社群大片好评 < Java 高并发 三 ...

  9. Redis与DB的数据一致性解决方案(史上最全)

    文章很长,而且持续更新,建议收藏起来,慢慢读! 高并发 发烧友社群:疯狂创客圈(总入口) 奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : 极致经典 + 社群大片好评 < Java 高并发 三 ...

随机推荐

  1. ubuntu系统搭建samba服务

    安装samba服务 # apt-get install samba 创建一个samba服务的分享目录 # mkdir /share 创建一个samba服务限制的用户及组 #useradd public ...

  2. 《设计模式之美》 <01>为什么需要学习掌握设计模式?

    1. 应对面试中的设计模式相关问 题学习设计模式和算法一样,最功利.最直接的目的,可能就是应对面试了.不管你是前端工程师.后端工程师,还是全栈工程师,在求职面试中,设计模式问题是被问得频率比较高的一类 ...

  3. PHP提取富文本字符串中的纯文本,并进行进行截取

    this is my first markdown article,i hope you like it /** * 提取富文本字符串的纯文本,并进行截取; * @param $string 需要进行 ...

  4. OSI七层协议模型、TCP/IP四层模型

    OSI七层协议模型 TCP/IP四层模型 首先我们梳理一下每层模型的职责: 链路层:对0和1进行分组,定义数据帧,确认主机的物理地址,传输数据: 网络层:定义IP地址,确认主机所在的网络位置,并通过I ...

  5. php is_numeric函数可绕过产生SQL注入

    老老实实mysql_real_escape_string()防作死......is_numeric的SQL利用条件虽然有点苛刻,但还是少用的好= = 某CTF中亦有实测案例,请戳 http://dro ...

  6. POI读取Excel如何判断行为空

    public static boolean isRowEmpty(Row row) { for (int c = row.getFirstCellNum(); c < row.getLastCe ...

  7. MySQL 关于索引的操作

    -- 索引分类? 1.普通索引 2.唯一索引 3.全文索引 4.组合索引 普通索引:仅加速查询,最基本的索引,没有任何限制 唯一索引:加速查询 + 列值唯一(可以有null) 全文索引:仅适用于MyI ...

  8. [kuangbin带你飞]专题一 简单搜索 x

    A - 棋盘问题 POJ - 1321 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别.要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋 ...

  9. python播放音乐

    最近一直想实现使用Python播放音乐的功能,找了百度上的好多博客,要不就只能播放wav格式的,要不播放mp3格式的但无法在Linux系统下使用的,或者只能在Python2的情况下播放的,写的都不符合 ...

  10. matplotlib中 plt.plot() 函数中**kwargs的参数形式

    plt.plot(x, y, **kwargs) **kwargs的参数大致有如下几种: color: 颜色 linestyle: 线条样式 marker: 标记风格 markerfacecolor: ...