以下博文引用《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. Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: org/dom4j/io/SAXReader

    Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: org/dom4j/io/SAXReader ...

  2. 最简单之安装hadoop单机版

    一,hadoop下载 (前提:先安装java环境) 下载地址:http://hadoop.apache.org/releases.html(注意是binary文件,source那个是源码) 二,解压配 ...

  3. openssl数据加密

    一.openssl简介 openssl是最著名的开源SSL,其用 C 实现,被广泛应用在基于TCP/Socket的网络程序中. OpenSSL:开源项目 三个组件:openssl: 多用途的命令行工具 ...

  4. numpy的ndarray数组如何reshape成固定大小

    在做肺结节检测的时候,遇到dicom文件reshape之后尺寸大小不一.因为大下不一,numpy.reshape又无法重塑成指定大小的.最后还是在一个大牛的代码中找到了解决方法. VL = np.lo ...

  5. 个人的web商城网站

    项目介绍 1.作为前端的菜鸟,每每看到Github上有很多大神分享着自己的项目时,内心都是蠢蠢欲动,这次终于下定决心要给自己一段时间来完成属于自己的一份作品.2.于是在查找了大量资料,思考着技术选型, ...

  6. BZOJ 3531: [Sdoi2014]旅行 (树剖+动态开点线段树)

    对于每种信仰维护一棵动态开点线段树就行了- #include <cstdio> #include <cctype> #include <cstring> #incl ...

  7. freemarker 生成word

    一.生成模板,动态获取的部分用${变量名},然后将word另存为xml文件,再将后缀名改成ftl格式.然后将模板放在对应的目录下. 二.引入freemarker包,mawen引用 <depend ...

  8. (转)rotatelogs - Piped logging program to rotate Apache logs

    原文:http://publib.boulder.ibm.com/httpserv/manual60/programs/rotatelogs.html rotatelogs is a simple p ...

  9. jquery resize()方法 语法

    jquery resize()方法 语法 作用:当调整浏览器窗口的大小时,发生 resize 事件.resize() 方法触发 resize 事件,或规定当发生 resize 事件时运行的函数.大理石 ...

  10. 树的计数 + prufer序列与Cayley公式(转载)

    原文出处:https://www.cnblogs.com/dirge/p/5503289.html 树的计数 + prufer序列与Cayley公式 学习笔记(转载) 首先是 Martrix67 的博 ...