关于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的更多相关文章

  1. iOS开发——源代码管理——SVN

    一.源代码管理(svn)简介 01. 源代码管理工具概述 ======================================================================= ...

  2. ubuntu svn安装测试

    本机环境 :ubuntu 12.4 LTS desktop 1 sudo apt-get install  subversion  #安装svn 2  sudo mkdir   /home/lzj/s ...

  3. Visual SVN 5.01 Po jie 笔记

    最近搞项目要与几个同事一起coding,鉴于代码的合并和提交的问题,所以要搞个版本管理.由于是私有的项目,所以退git 求SVN了.装了乌龟和Visual SVN,才发现Visual SVN的客户端不 ...

  4. SVN服务器的搭建 分类: 网络 2014-11-27 01:18 204人阅读 评论(4) 收藏

    一.首先来下载和安装SVN服务器 现在Subversion已经迁移到apache网站上了,下载地址: http://subversion.apache.org/packages.html 这是二进制文 ...

  5. JAVAEE——SSH项目实战01:SVN介绍、安装和使用方法

    1 学习目标 1.掌握svn服务端.svn客户端.svn eclipse插件安装方法 2.掌握svn的基本使用方法 2 svn介绍 2.1 项目管理中的版本控制问题 通常软件开发由多人协作开发,如果对 ...

  6. 最课程阶段大作业之01:使用SVN实现版本控制

    版本控制在友军那里都是放在整个培训的最后阶段才开始讲的,但我们打算放到SE阶段.与其匆匆在项目实战阶段弄个半生不熟,然后进入实际工作中接受他人对你的怀疑,不如……早死早超生~~~. 可是,我们毕竟现在 ...

  7. JAVAEE——SSH项目实战01:SVN介绍、eclipse插件安装和使用方法

    1 学习目标 1.掌握svn服务端.svn客户端.svn eclipse插件安装方法 2.掌握svn的基本使用方法 2 svn介绍 2.1 项目管理中的版本控制问题 通常软件开发由多人协作开发,如果对 ...

  8. 01 svn服务搭建

    一:svn服务搭建.(1)首先下载服务端svn: Setup-Subversion-1.6.5.msi(2)下载客户端svn: TortoiseSVN-1.6.6.17493-win32-svn-1. ...

  9. SVN使用_获取某版本后改动的文件列表

    本章将讲解如何通过svn命令获取某版本后改动的所有文件 一键操作,告别svn log的繁杂对比工作. 1:安装SVN命令行工具Subversion(不是TortoiseSVN) 下载Subversio ...

随机推荐

  1. python打包生成可执行文件教程

    python打包生成可执行文件教程 安装环境: 1.打开命令行窗口,输入命令:pip install pyinstaller ,等待下载结束.示例: 2.下载结束后,测试是否成功安装,输入命令:pyi ...

  2. 使用JDBC分别利用Statement和PreparedStatement来对MySQL数据库进行简单的增删改查以及SQL注入的原理

    一.MySQL数据库的下载及安装 https://www.mysql.com/ 点击DOWNLOADS,拉到页面底部,找到MySQL Community(GPL)Downloads,点击 选择下图中的 ...

  3. Angularjs集成于ASP.NET MVC数据绑定重构

    这几天,对程序重构,主要针对angularjs的绑定: 第一个例子: 下面是一段html程序: 不管是name或者是ng-model的属性值,它都有一定规律"StartX"和&qu ...

  4. .NET CORE(C#) WPF亚克力窗体

    微信公众号:Dotnet9,网站:Dotnet9,问题或建议:请网站留言, 如果对您有所帮助:欢迎赞赏. .NET CORE(C#) WPF亚克力窗体 阅读导航 本文背景 代码实现 本文参考 源码 1 ...

  5. [转]Android Adapter以及getView()方法的理解

    Android Adapter基本理解: 我的理解是: 1.一个有许多getter的类(就是getView(),getCount()....这些方法) 2.有多少个get方法?都是什么? 这些gett ...

  6. What is NodeJS(学习过程)

    为什么要学习node.首先是听说了这个和前后端分离有很大的关系.node作为一个基础的技术,需要提前学习.学习node,不打算直接先跟着视频去学习老师们的课程.因为想自己找到一种适合自己的学习方法.之 ...

  7. 服务治理框架:Spring Cloud Eureka

    最近在学习Spring Cloud的知识,现将服务治理框架 Spring Cloud Eureka 的相关知识笔记整理如下.[采用 oneNote格式排版]

  8. hdu 1011 Starship Troopers(树上背包)

    Problem Description You, the leader of Starship Troopers, are sent to destroy a base of the bugs. Th ...

  9. Linux系统之网络相关的命令

    Linux系统之网络相关的命令 网络概述 网络:通过通信介质和通信设备 将分布不同地点的两台或多台计算机,经过相应的程序实现通信switch 交换机router 路由器网络的功能:数据通信:利用网络传 ...

  10. Spring Aop和Spring Ioc(一)

    Spring Aop Aop: 面向切面编程的本质:面向切面编程,指扩展功能不修改源代码,将功能代码从业务逻辑代码中分离出来. 1:主要功能:日志记录,性能统计,安全控制,事务处理,异常处理等等. 2 ...