前言

我们都知道每一件工具的诞生都是为了方便我们的生活。SVN(Subversion)学习工具在我们“合作”开发软件过程中起到了很大的作用。说起SVN先说说SCM。

内容

SCM

定义

英文名字为(Supply ChainManagement)供应链关系管理:是一种集成的管理思想和方法,我自己的理解在软件开发过程中我们需要对软件开发做一个好的规划,可以采用这个思想和方法来指导我们去更好地开发。

开发有了好的思想和方法,但是需要什么工具呢?SVN就出场了,每一个工具的产生都是因为有这种或者那种需求。

SVN

定义

是一个开发源代码的版本控制系统,采用了分支管理,设计目标取代CVS。换句话来说就是:记录并控制软件产品数据的管理工具。

工作方式

开发软件的合作人员,不定时的对SVN服务器上的数据进行修改,提交。采用了事务的思想,SVN保证了修改代码的一致性,完整性。

功能

  • 统一版本号,任何一次提交都会对所有文件增加到同一个新版本号,即使提交并不涉及文本文件,版本号相同的文件构成了软件的一个版本。
  • 原子提交,不管提交多少东西,只要是一次提交,就是作为一个整体提交的,就更新一个版本号,当提交过程中发生中断的情况,不会损坏数据库的完整性。
  • 当重命名、删除、复制等操作都会保存在版本历史记录中。
  • 对于二进制文件,只保存和上一个版本的不同之处,减少了资源占用空间。

数据存储方式

存储版本数据有两种存储方式:一种是事务安全型表——BDB和一种不需要数据库的安全存储系统——FSFS,BDB在中断时容易锁住数据,所以用FSFS更加安全一些。

小结

  • 万事开头难,最难的地方也是最锻炼人的地方。
  • 一回生二回熟,多多百度,多多了解,多多实践。

感谢您的宝贵时间~~~

初识SVN的更多相关文章

  1. 软件配置管理中的SVN

    一.简单介绍 1.什么是软件配置管理 软件配置管理是指通过运行版本号控制.变更控制的规程.以及使用合适的配置管理软件.来保证全部配置项的完整性和可跟踪性. 配置管理是对工作成果的一种有效保护. 2.为 ...

  2. 【SVN】SVN初识

    SVN 介绍 SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS.互联网上很多版本控制服务已从CVS迁移到Sub ...

  3. SVN服务器&客户端的搭建和使用

    目录结构: 1. SVN服务器搭建和使用-VisualSVNServer 2. SVN客户端安装和使用-TortoiseSVN 3. TortoiseSVN使用方法 SVN简介 SVN是Subvers ...

  4. 单人SVN提交bug

    The working copy "初识tableVIew" failed to commit files. fatal: Unable to create '/Users/zjj ...

  5. 初识Eclipse!!

      Java之路 ——初识Eclipse   零.大纲 一.前言 二.获取Eclipse 三.运行Eclipse 四.创建及运行第一个Java Project 五.界面介绍 六.如何调试 七.获取插件 ...

  6. git 入门教程之初识git

    初识 git git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. 背景 我们都知道,Linus 在1991年创建了开源的linux系统,随着不断发展壮大,目前已发展成为最大 ...

  7. day03深浅拷贝、文件操作和函数初识

    一.赋值.浅拷贝与深拷贝 直接赋值:其实就是对象的引用(别名). 浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象. 深拷贝(deepcopy): copy 模块的 deepcopy 方法, ...

  8. EnjoyingSoft之Mule ESB开发教程第一篇:初识Mule ESB

    目录 1. Mule ESB基本介绍 2. Mule ESB社区版和企业版 3. Mule ESB常用场景 4. Mule ESB软件安装 客户端安装 服务端安装 5. 第一个Mule ESB应用- ...

  9. Mahout In Action-第一章:初识Mahout

    1. 初识Mahout 本章涵盖以下内容: Apache Mahout是什么? 现实中推荐系统引擎.聚类.分类概述 配置mahout 读者可能从本书的标题中猜测到,本书是一本讲解如何将mahout应用 ...

随机推荐

  1. zTree获取(子)节点

    var ids=[]; ids=getChildren(ids, treeNode);//TreeNode是选中节点,ids是子节点id数组,格式:123,223,4,55 1.获取直接子节点的id ...

  2. 2_flyweight, 轻量化模式

    ### instanced rendering. send shared data to gpu just once mesh, texture, leaves push every instance ...

  3. Hihocoder1662 : 查找三阶幻方([Offer收割]编程练习赛40)(暴力)

    时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定一个N x M的矩阵,请你数一数其中有多少个3 x 3的子矩阵可以构成三阶幻方? 如果3 x 3的矩阵中每一行.每一列 ...

  4. px-rem自适应转换(进阶@rem:40rem; )

    接力之前的文章 https://www.cnblogs.com/leshao/p/5674710.html 这篇文章讲解的是px -rem 单位换算 除100的  写法 比如实际测量PSD宽度是500 ...

  5. ACM学习历程—BZOJ 2115 Xor(dfs && 独立回路 && xor高斯消元)

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2115 题目大意是求一条从1到n的路径,使得路径xor和最大. 可以发现想枚举1到n的所有路 ...

  6. ViewModel中C# Property自动添加OnPropertyChanged处理的小工具, 以及相应Python知识点

    在做WPFMVVM中经常会遇到一些Model.ViewModel的属性添加添加私有字段和更改通知方法来支持Binding. 比如把: public class Test {      public s ...

  7. windows7下c++11环境搭建

    1.安装codeblocks 13.12 2.下载安装tdm-gcc-4.8.1-3 3.配置coldblocks的编译器(settings->compiler->compiler set ...

  8. JVM体系结构之六:堆Heap之2:新生代及新生代里的两个Survivor区(下一轮S0与S1交换角色,如此循环往复)、常见调优参数

    一.为什么会有年轻代 我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能.你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我 ...

  9. tomcat安装与运行

    实验环境:CentOS7 使用系统yum仓库安装: #安装基本包和开发工具包 [root@~ localhost]#yum install -y java-1.8.0-openjdk java-1.8 ...

  10. VisualGDB系列4:概述-Linux程序与VS

    根据VisualGDB官网(https://visualgdb.com)的帮助文档大致翻译而成.主要是作为个人学习记录.有错误的地方,Robin欢迎大家指正. 本文将会阐述如何使用VisualGDB来 ...