SVN的使用01
关于svn的使用以及TortoiseSVN常见操作
一、关于svn介绍
在介绍之前提一下,MyEclipse项目组的建立,以及源文件夹的创建。
新建的那一栏点击other 在搜索栏中搜索Java Working Set就会出来点击创建,填写项目组的名称点击完成!



这样一个项目组就创建完成,可以在项目组中存放多个项目,便于管理!
如何创建多个源文件夹,所谓源文件夹就是用来存放源代码的,默认为src,创建方式,如图点击新建点击创建创建后项目发布时两个源文件夹的内容会整合到一起去



所以称之为源文件夹!
为此这是一点小知识点!
1.svn的介绍
SVN是版本控制的一款软件,常用来管理企业项目,将项目保存到仓库之中便利与多人开发与维护。
什么是版本控制?
版本控制(Revision Control):是维护工程蓝图的标准做法,能追踪工程蓝图从诞生一直到定案的过程。是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统。也是一种软体工程技巧,籍以在开发的过程中,确保由不同人所编辑的同一档案都得到更新。
2.我们现在市面上常会用到的几款版本控制的软件
CVS(Concurrent Versions System)代表协作版本系统或者并发版本系统,是一种版本控制系统,方便软件的开发和使用者协同工作。
VSS ( Visual Source Safe )只能在windows下,作为 Microsoft Visual Studio 的一名成员,它主要任务就是负责项目文件的管理
Git是用于Linux内核开发的版本控制工具。它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。Git的速度很快,这对于诸如Linux kernel这样的大项目来说自然很重要。Git最为出色的是它的合并跟踪(merge tracing)能力。官网www.github.org
SVN(Subversion ),是一个开放源代码的版本控制系统,采用了分支管理系统,它的设计目标就是取代CVS。
3.SVN的特点
统一的版本号。CVS是对每个文件顺序编排版本号,在某一时间各文件的版本号各不相同。而Subversion下,任何一次提交都会对所有文件增加到同一个新版本号,即使是提交并不涉及的文件。所以,各文件在某任意时间的版本号是相同的。版本号相同的文件构成软件的一个版本。
原子提交。一次提交不管是单个还是多个文件,都是作为一个整体提交的。在这当中发生的意外例如传输中断,不会引起数据库的不完整和数据损坏。
重命名、复制、删除文件等动作都保存在版本历史记录当中。
对于二进制文件,使用了节省空间的保存方法。(简单的理解,就是只保存和上一版本不同之处)
目录也有版本历史。整个目录树可以被移动或者复制,操作很简单,而且能够保留全部版本记录。
分支的开销非常小。
优化过的数据库访问,使得一些操作不必访问数据库就可以做到。这样减少了很多不必要的和数据库主机之间的网络流量。
支持元数据(Metadata)管理。每个目录或文件都可以定义属性(Property),它是一些隐藏的键值对,用户可以自定义属性内容,而且属性和文件内容一样在版本控制范围内。
支持FSFS和Berkeley DB两种资料库格式。
不足:只能设置目录的访问权限,无法设置单个文件的访问权限。
4.SVN的体系结构如图:

5.关于安装:
在视频的资料里面,有两个安装包,一个是32位安装包,一个是64位安装包,可以自行选择!

安装完成后在cmd里面敲如下代码看是否会有如下效果!如果一样则表示安装成功!注意安装时一般会自动在你环境变量里面配置,如果环境变量里面没有则需要手动去配!

在环境变量里面配置安装目录的位置精确到bin目录

6.创建仓库
格式:cmd> svnadmin create 路径,如图可以发现创建方法有两种,一种是在指定目录下创建仓库,另一种是在当前仓库创建目录

7.启动服务
启动服务分为两种一种为单仓库启动和多仓库启动。
格式:cmd> svnserve -d -r 仓库的路径
-d后台执行
-r 版本库的根目录或父目录
当-r后指定的目录为仓库根目录时则启动的是单个仓库如图:

启动:svnserve -d -r 仓库的根 ,表示启动时单仓库
例如:svnserve -d -r G:\repository\svn\bbs
访问:svn://localhost:3690
当-r后指定的目录为仓库父目录时则启动的是多个仓库如图:

启动:svnserve -d -r 仓库父目录 ,表示启动时多仓库
例如:svnserve -d -r G:\repository\svn
访问:svn://localhost:3690/bbs
8.注册后台服务
我们可以创建后台服务这样就可以方便启动服务
首先注册服务之前先删除原有的服务

删除完成后既可以配置指定的服务

WIN+R输入命令
services.msc 打开“服务”
查看是不是多了一个svn的服务名称,如果配置的是手动开启的话每次则以管理员身份去执行cmd,“net start svn”打开服务
二、SVN的操作:
1.关于SVN的操作思想

2.如何从仓库中取东西
格式:svn checkout 服务器地址 下载地址(如图说明这个仓库里面没有任何值)

3.往仓库中存入数据常常会遇见的几个问题
1.格式:svn commit 资源(存入数据的格式)
问题1:没有纳入版本控制

解决方法:使用add子命令 添加到本地版本库

问题2:没有编写日志

解决方法:采用 -m 参数设置日志信息

问题3:没有权限

解决办法:修改权限,设置匿名访问仓库目录下的子目录conf中 G:\repository\svn\bbs\conf\svnserve.conf打开

4.更新仓库原有数据的内容:
格式: svn update

此上就是用SVN常用到的操作的一些命令,实际开发中我们会使用更快捷的图形化工具
SVN的使用01的更多相关文章
- iOS开发——源代码管理——SVN
一.源代码管理(svn)简介 01. 源代码管理工具概述 ======================================================================= ...
- ubuntu svn安装测试
本机环境 :ubuntu 12.4 LTS desktop 1 sudo apt-get install subversion #安装svn 2 sudo mkdir /home/lzj/s ...
- Visual SVN 5.01 Po jie 笔记
最近搞项目要与几个同事一起coding,鉴于代码的合并和提交的问题,所以要搞个版本管理.由于是私有的项目,所以退git 求SVN了.装了乌龟和Visual SVN,才发现Visual SVN的客户端不 ...
- SVN服务器的搭建 分类: 网络 2014-11-27 01:18 204人阅读 评论(4) 收藏
一.首先来下载和安装SVN服务器 现在Subversion已经迁移到apache网站上了,下载地址: http://subversion.apache.org/packages.html 这是二进制文 ...
- JAVAEE——SSH项目实战01:SVN介绍、安装和使用方法
1 学习目标 1.掌握svn服务端.svn客户端.svn eclipse插件安装方法 2.掌握svn的基本使用方法 2 svn介绍 2.1 项目管理中的版本控制问题 通常软件开发由多人协作开发,如果对 ...
- 最课程阶段大作业之01:使用SVN实现版本控制
版本控制在友军那里都是放在整个培训的最后阶段才开始讲的,但我们打算放到SE阶段.与其匆匆在项目实战阶段弄个半生不熟,然后进入实际工作中接受他人对你的怀疑,不如……早死早超生~~~. 可是,我们毕竟现在 ...
- JAVAEE——SSH项目实战01:SVN介绍、eclipse插件安装和使用方法
1 学习目标 1.掌握svn服务端.svn客户端.svn eclipse插件安装方法 2.掌握svn的基本使用方法 2 svn介绍 2.1 项目管理中的版本控制问题 通常软件开发由多人协作开发,如果对 ...
- 01 svn服务搭建
一:svn服务搭建.(1)首先下载服务端svn: Setup-Subversion-1.6.5.msi(2)下载客户端svn: TortoiseSVN-1.6.6.17493-win32-svn-1. ...
- SVN使用_获取某版本后改动的文件列表
本章将讲解如何通过svn命令获取某版本后改动的所有文件 一键操作,告别svn log的繁杂对比工作. 1:安装SVN命令行工具Subversion(不是TortoiseSVN) 下载Subversio ...
随机推荐
- git 指令笔记
狂躁,太狂躁!!赶上过年,赶上自己的懒癌,12月底就学完的教程直到今天才整理笔记,中途沉默在游戏中..... 只给出Windows下git指令操作,推荐大家去廖雪峰前辈那里学习(百度搜索:廖雪峰的官方 ...
- python爬虫实战:基础爬虫(使用BeautifulSoup4等)
以前学习写爬虫程序时候,我没有系统地学习爬虫最基本的模块框架,只是实现自己的目标而写出来的,最近学习基础的爬虫,但含有完整的结构,大型爬虫含有的基础模块,此项目也有,“麻雀虽小,五脏俱全”,只是没有考 ...
- JS高阶编程技巧--compose函数
先看代码: let fn1 = function (x) { return x + 10; }; let fn2 = function (x) { return x * 10; }; let fn3 ...
- UML之三、建模元素(2)
本章继续介绍建模元素 https://blog.csdn.net/bit_kaki/article/details/78471760 1:边界 任何一个对象都有一个边界,外界只能通过这个边界来认识对象 ...
- 解读前端js中签名算法伪造H5游戏加分
信息安全在我们日常开发中息息相关,稍有忽视则容易产生安全事故.对安全测试也提出更高要求.以下是笔者亲自实践过程: 一. 打开某个数钱游戏HTML5页面,在浏览器 F12 开发工具中,查看的js,如下, ...
- MySQL真正的UTF-8字符集utf8mb4
MySQL有个utf-8的坑 MySQL 的 utf8 实际上不是真正的 UTF-8.utf8 只支持每个字符最多三个字节,而真正的 UTF-8 是每个字符最多四个字节. MySQL 一直没有修复这个 ...
- Learning hard 网络编程
1.1网络分层总览 网络上的计算机之所以可以互相通信,是因为它们都遵守着公认的互联网协议,就如同人与人的交流一样,两个人能够交流,就必须知道对方的语言,计算机的网络通信可归结为网络中层与层之间的通信, ...
- PHP0023:PHP 相册管理案例
- Rx基础
>>返回<C# 并发编程> 1. 转换.NET事件 1.1. 进度通知 1.2. 定时器示例 1.3. 错误传递 2. 发通知给上下文 3. 用窗口和缓冲对事件分组 4. 用限 ...
- C# WPF可拖拽的TabControl
微信公众号:Dotnet9,网站:Dotnet9,问题或建议:请网站留言, 如果对您有所帮助:欢迎赞赏. C# WPF可拖拽的TabControl 阅读导航 本文背景 代码实现 本文参考 源码 1. ...