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 ...
随机推荐
- VMware ESXi 6.7安装过程介绍
虚拟机配置信息如下: 一.安装ESXI 开启虚拟机,正常进入开机引导安装界面 默认选择第一个选项,8s后自动进入如下界面,依次为: 加载引导程序 接受协议 选择用来存放ESXI操作系统的磁盘,不能乱选 ...
- 记录KVM虚拟机常用操作管理命令
环境说明 centos7中的KVM NAT方式是kvm安装后的默认方式.它支持主机与虚拟机的互访,同时也支持虚拟机访问互联网,但不支持外界访问虚拟机. 检查当前的网络设置 # virsh net-li ...
- 彻底搞懂flex弹性盒模型布局
为什么要用flex 基于css3简单方便,更优雅的实现,浏览器兼容性好,传统的css实现一个div居中布局要写一堆代码,而现在几行代码就搞定了,没有理由不用flex. 兼容性: Base Browse ...
- js中如果遇到低版本安卓设备调用setTimeout不生效解决办法
工作中会遇到低版本安卓设备调用setTimeout不生效,既不会报错,里面的函数也不会执行,这里po一个解决办法,如果不执行则执行安卓自己封装的原生的setTimeout方法:sdk.setTimeo ...
- jSon和Ajax登录功能,ajax数据交互案例
ajax实例,检测用户与注册 检测用户名是否被占用: 在用户填写完用户名之后,ajax会异步向服务器发送请求,判断用户名是否存在 首先写好静态页面: index.html <!DOCTYPE h ...
- SAP MM 一个含有多个账号分配对象的行项目的PO及其收货
SAP MM 一个含有多个账号分配对象的行项目的PO及其收货 如下的采购订单,一个行项目数量为8PC,分别对应8个固定资产号, 在该ITEM的科目分配里,按数量做了拆分,每个数量对应一个固定资产号.如 ...
- MySQL数据库的两种连接方式:TCP/IP和Socket
Linux平台环境下主要有两种连接方式,一种是TCP/IP连接方式,另一种就是socket连接. 在Windows平台下,有name pipe和share memory(不考虑)两种. TCP/IP连 ...
- PERC H310 配置详细步骤【阵列RAID创建】【阵列恢复】【阵列池创建】
机器配置: HP PRO6300 二手淘的201912,HP的主板芯片Intel Q75芯片组,集成显卡(集成显卡与H310阵列卡冲突),CPU Intel I5 3450 [raid5阵列创建] 1 ...
- linux 开机自启动redis服务
[Unit] Description=The redis-server Process Manager Documentation=https://redis.io/ After=network.ta ...
- JS中0.1+0.2!=0.3
在控制台输入0.1+0.2,会得出以下结果 即不等于0.3.下面我们说一下原因. 一.存储原理 1.在计算机中数字无论是定点数还是浮点数都是以多位二进制的方式进行存储的.2.在JS中数字采用的IEEE ...