SVN概述
SVN是Subversion的简称,如今她已经是Apache家族的一员。作为主流的版本管理软件,她取代了CVS,并不断完善。如今已经是大多数软件开发项目使用的必不可少的工具。
SVN到底是什么呢?
SVN 是一个时光机,我们用他可以找回过去的一些东西(当然你不可能用他来穿越)。
在SVN中,我们使用版本,来追溯历史.
下图就是各个版本(箭头左边的0,1,2,3)对应者的文件或数据。
所以,我们如果是有大量的电影,图片这样的数据,我们就不需要SVN来管理了,因为这些东西是不变。SVN管理的是经常变化的文件,这样,时光机才会记录每一次变化,对于追溯历史才有意义。
SVN使用的是客户端,服务器的 C/S方式来完成与用户交互的。在Windows上,我们可能经常使用TortoiseSVN客户端来与服务器通讯。 在TortoiseSVN中,我们可以看到菜单上有很多功能,今天,我们就是围绕着这些功能的使用,来说明SVN的基本操作和使用的。当然,我更希望用命令行的方式来说明,因为我们不一定都是在Windows下使用TortoiseSVN,我们可能使用其他的一些命令行下的svn客户端,这些有利于与其他软件系统的集成。
那么SVN是怎么管理数据的呢? 实际上所有的SVN管理文件都放在一个叫Repository的库中。SVN可选择两种库,一种是BerkeleyDB ,一种是FSFS。BerkeleyDB简称BDB实际上就和我们使用的数据库一样,用他来管理SVN管理的数据。FSFS是在SVN 后期主要使用(默认)的库。他就是一个特殊的文件系统。我们对此只做一些了解。除非是SVN的管理员,或者你对此有极大兴趣,你才有必要去深入了解。
分享到:
相关推荐
### SVN学习笔记知识点详解 #### 一、学习目标概述 - **熟悉安装过程**:掌握SVN服务器端及客户端的安装方法。 - **调试通过,能基本使用**:完成安装后,确保能够顺利运行SVN的基本操作。 - **建立版本库,进行...
#### 一、SVN概述与重要性 **版本控制系统**(Version Control System,简称VCS)对于软件开发团队而言至关重要。它不仅能够帮助团队有效地管理和跟踪项目的变动,还能够解决多用户环境下的协作问题。**SVN**...
### Linux学习笔记概览 #### 一、使用CURL进行RESTful API请求 - **知识点概述**: - CURL是一个用于发送HTTP请求的强大工具,在Linux环境下特别常用。 - 可以通过CURL发送POST请求,并附带JSON格式的数据体。 - ...
**Eclipse开发学习笔记概述** Eclipse是一款强大的开源集成开发环境(IDE),广泛应用于Java、C++、Python等多种编程语言的开发。它以其强大的插件系统、高效的代码编辑器和灵活的工作空间管理闻名,深受开发者喜爱...
### Git学习笔记 #### Git的历史背景与发展 - **Git的诞生**:Git的诞生源于Linux内核项目的实际需求。在2002年至2005年间,该项目使用了一款名为BitKeeper的分布式版本控制系统来管理其源代码。然而,随着...
### Git与GitHub学习笔记知识点详解 #### 一、Git版本控制系统概述 **1.1 Git简介** Git是一款分布式版本控制系统,由Linus Torvalds在2005年开发,用于Linux内核的开发。Git的主要特点包括支持离线开发、强大的...
### Linux 学习笔记知识点概览 #### 一、Linux 常见命令与操作 - **基础命令**:在 Linux 系统中,掌握一些基础命令是非常重要的,例如 `ls` (列出目录内容)、`cd` (切换目录)、`pwd` (显示当前工作目录)、`mkdir`...
文档首先列出了第一天的学习计划与相关知识点,具体包括统一开发环境的搭建、RESTful Web Service 的概念及其应用、电商系统的整体架构介绍、使用聚合工程搭建电商平台的后台管理系统、版本控制工具 SVN 的使用等...
### 测试学习笔记知识点概述 #### 第一阶段:测试基础 **1.1 什么是软件测试:** 软件测试是评估软件质量的过程,旨在发现软件中的错误或缺陷,并确保产品能够满足用户的需求。它贯穿于软件开发周期的各个阶段,...
标题和描述所指向的知识点涵盖了使用SVN(Subversion)作为版本控制系统在...通过对这些知识点的学习,我们可以更好地理解如何在实际项目中应用SVN进行有效的版本控制管理,以及解决在安装和使用过程中可能遇到的问题。
一、ASP.NET概述 ASP.NET提供了一种模型驱动的开发方式,支持多种编程语言如C#、VB.NET等。它包括Web Forms、MVC(Model-View-Controller)和Web Pages等多种开发模式,满足不同类型的项目需求。Web Forms模式提供了...
#### 一、概述 在IT领域中,Apache Tomcat是一款开源的Servlet容器,它能够提供对Servlet和JavaServer Pages (JSP)技术的支持,并且能够作为一个独立的应用服务器来运行Java Web应用程序。对于初学者或者经验不足的...
【Git 概述】 Git 是一个强大的开源分布式版本控制系统,由 Linux 内核开发者 Linus Torvalds 创建,主要用于管理软件开发过程中的源代码版本。Git 的设计目标是速度、数据完整性以及支持分布式非线性工作流程。...
### 第四部分笔记知识点概述 #### 一、LNMP+Redis集群与ECShop电商项目介绍 ##### 1. LNMP架构简介 - **定义**: LNMP代表Linux+Nginx+MySQL+PHP,这是一种常见的Web应用服务器环境配置。 - **优势**: - **高性能...
### Dojo 学习知识点详解 #### 一、Dojo 概述 Dojo 是一个功能强大且灵活的开源 ...以上是对 Dojo 学习笔记中提到的核心概念和操作方法的详细介绍,希望能帮助你更好地理解和掌握 Dojo 这一强大的前端开发框架。
7. **自我介绍与项目经验**:在面试初期,简短的自我介绍和项目经验概述是必要的,但随着面试的深入,面试官更关注的是你的专业技能和解决问题的能力,所以你需要准备好针对Java技术的专业回答。 总之,准备Java...
### 一、版本控制概述 #### 1.1 软件配置管理(SCM) - **定义**:SCM 是指通过执行版本控制、变更控制的规程,以及使用合适的配置管理软件来保证所有配置项的完整性和可跟踪性。 - **目的**:确保项目文件的完整性与...