前言

我们都知道每一件工具的诞生都是为了方便我们的生活。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. C++(七)— 进程、线程及区别

    1.进程(process) 狭义定义:进程就是一段程序的执行过程. 广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动.它是操作系统动态执行的基本单元,在传统的操作系统中,进程既 ...

  2. struts2 框架 的环境搭建 与配置

    一,Struts2简介: 1,来由:Struts(金属支架),在程序中表示起支撑作用的通用程序代码,Struts2是在Struts1框架的基础上融合了WebWork优秀框架升级得到的. 2,解释:St ...

  3. 一种解决 MacBook 里的 App Store 无法登录的问题

    刚刚买回来的 2018 款带有 touchbar 的 MacBook Pro 15 inc 在用 App Store 安装 app 时一直无法登录成功(网络链接都是好的),导致软件都无法更新,折腾了挺 ...

  4. rabbitmq-交换机

    四种交换机: direct fanout topic headers http://www.jianshu.com/p/469f4608ce5d

  5. SQL关联查询中on与where

    微信公众号:刺刺刺猬的优雅 前段时间,做一个查询,打算用left join查询存在于A表但不存在于B表记录,但怎么查都不对,原因是把所有filter全部放在了where语句中,因此回头看了资料,记录一 ...

  6. Access中一句查询代码实现Excel数据导入导出

    摘 要:用一句查询代码,写到vba中实现Excel数据导入导出,也可把引号中的SQL语句直接放到查询分析器中执行正 文: 导入数据(导入数据时第一行必须是字段名): DoCmd.RunSQL &quo ...

  7. 用WinDbg分析Debug Diagnostic Tool生成的Userdump文件

    1.下载WinDbg(Debugging Tools for Windows):http://www.microsoft.com/whdc/devtools/debugging/default.msp ...

  8. [转]为什么GOF的23种设计模式里面没有MVC?

    GoF (Gang of Four,四人组, <Design Patterns: Elements of Reusable Object-Oriented Software>/<设计 ...

  9. CentOS6.5中的vsftpd安装配置

    安装ftp 1.使用chkconfig 来查看是否装有vsftpd服务: 2.使用yum命令直接安装:yum -y install vsftpd 3.然后为它创建日志文件:touch /var/log ...

  10. Cypress USB3014 C++DLL 导入问题

    VS2017编译cpp工程出现问题 硬件型号:芯片版本 Cypress FX3 USB3014(和芯片无关)) 重现步骤: 1.解压 FX3_SDK_Windows_v1.3.3.exe 2.VS20 ...