关于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. OpenResty 在马蜂窝广告监测中的应用

    马蜂窝技术原创内容,更多干货请订阅公众号:mfwtech 广告是互联网变现的重要手段之一. 以马蜂窝旅游 App 为例,当用户打开我们的应用时,有可能会在首屏或是信息流.商品列表中看到推送的广告.如果 ...

  2. 在服务器上搭建远端git仓库

    推荐使用运行Liunx的机器 请获取root权限后进行下面操作 安装git # 检查是否安装了git如果有版本号就无需再安装 git -v # 安装git sudo apt-get install g ...

  3. 2python脚本在window编辑后linux不能执行的问题

    参考简书博主天道酬勤abcd python脚本在windows编辑后,在linux下执行提示 /usr/bin/python^M: bad interpreter: No such file or d ...

  4. [转载]花了半个月,终于把Python库全部整理出来了,非常全面

    库名称简介 Chardet 字符编码探测器,可以自动检测文本.网页.xml的编码. colorama 主要用来给文本添加各种颜色,并且非常简单易用. Prettytable 主要用于在终端或浏览器端构 ...

  5. 使用springboot整合ActiveMQ

    结构图 第一步:导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifact ...

  6. Android中创建一个BroadcastReceiver

    首先创建一个java类继承BroadcastReceiver类 package com.example.service; import android.content.BroadcastReceive ...

  7. MySQL常用命令.md

    链接数据库 ## -h/-u这些后面没有空格 ./bin/mysql -h[ip地址] -P[端口号] -u[用户名] -p[密码] 查看建表语句 show create table [table_n ...

  8. 使用TableHasPrimaryKey或TableHasForeignKey来知道表是否有主键或外键

    从下面2句SQL语句执行来看, 就知道那一张表有主键PrimaryKey或ForeignKey. 比如,表[Q]和[QQ]既没有主键,也没有外键. 当在SQL语句的条件中,使用“=”,那说明查询出来的 ...

  9. 剑指offer-面试题32-分行从上到下打印二叉树-二叉树遍历

    /* 题目: 分行按层自上向下打印二叉树. */ /* 思路: 使用队列,将节点压入队列中,再弹出来,压入其左右子节点,循环,直到栈为空. 添加两个计数器,current记录当前行的节点数,next记 ...

  10. 剑指offer-面试题32-从上到下打印二叉树-二叉树遍历

    /* 题目: 按层自上向下打印二叉树. */ /* 思路: 使用队列,将节点压入队列中,再弹出来,压入其左右子节点,循环,直到栈为空. */ #include<iostream> #inc ...