什么是SVN(Subversion)?
有一个简单但不十分精确比喻:
SVN = 版本控制 + 备份服务器
简单的说,您可以把SVN当成您的备份服务器,更好的是,他可以帮您记住每次上传到这个服务器的档案内容。并且自动的赋予每次的变更一个版本。
通常,我们称用来存放上传档案的地方就做Repository。用中文来说,有点像是档案仓库的意思。不过,通常我们还是使用Repository这个名词。基本上,第一次我们需要有一个新增(add)档案的动作,将想要备份的档案放到Repository上面。日后,当您有任何修改时,都可以上传到Repository上面,上传已经存在且修改过的档案就叫做commit,也就是提交修改给SVN server的意思。针对每次的commit,SVN server都会赋予他一个新的版本。同时,也会把每次上传的时间记录下来。日后,因为某些因素,如果您需要从Repository下载曾经提交的档案。您可以直接选择取得最新的版本,也可以取得任何一个之前的版本。如果忘记了版本,还是可以靠记忆尝试取得某个日期的版本。
为什么要用SVN?
1。备份工作档案的重要性。您永远不知道计算机上的硬盘何时会坏掉。根据经验法则再加上墨菲定理,坏事情往往都发生在最重要的时刻。例如,要release东西的前一刻,硬盘完全坏掉,无法修复。所以,常常备份工作数据是非常重要的。大部分公司的server都会有专门的备份机制,甚至是异地备援。绝对比放在自己的计算机里头,或是随身碟上面来的安全。
2。版本控管的重要重要性。您无法保证手头上最新版本永远都是对的。很多时候,在经过数天努力工作后,您才发现走错方向。需要将所有的修改回复到数天前版本。没有几个人能够完全记住自己修改过什么东西。如果没有做好版本控管,那么,最差的状况就是要全部重来。
3。伙伴间的数据同步的重要性。很多时候,除了您个人外,还有其它的伙伴也需要您的档案。怎么把最新的档案提供给伙伴呢?用e-mail?根据经验,用e-mail是一个很差的办法。到了最后,根本就不知道哪一封e-mail才是新的。因为可能您最新的e-mail已经被当成垃圾信给丢了。别忘了,现在很多e-mail软件都有anti-spam(反垃圾邮件)的功能,说不定这些信件都被当成广告信给处理掉了。而且,您也应该知道一般档案如果放在e-mail内,档案大小会变得比较大(通常是原来的4/3倍以上)。如果每天更新一次,恐怕几天没收信的话,信箱就爆了!
4。如果没有一个好的办法,备份不同版本是很耗费硬盘空间的。例如:您有一个总共10MB的目录,使用单纯的档案备份。如果有10个版本就会变成100MB。20个版本就有200MB。如果,不想备份这么多版本,势必就是要减少备份的次数。拉长备份周期将会导致数据遗失的危险性增高。把旧的不需要的备份删除?根据经验,只要时间一拉长,您跟本就不知道一个月以前的版本是重要或者是不重要。
---------SVN能帮我们解决上面的问题吗?答案是肯定的:
SVN Repository可以是自己计算机上的一个目录,或者是随身碟(不建议这样用)。当然也可以是公司的服务器。
SVN有很棒的版本控管机制。所有上传的版本都会帮您记录下来。日后您可以随时取得某一个时刻的版本。而且,也有版本分支及合并等好用的功能。
SVN可以让不同的开发者存取同样的档案,并且利用SVN Server作为档案同步的机制。也就是说,您有档案更新时,无须将档案寄给您的开发成员。只需要告诉他新的版本已经在SVN Server上面,请他自己去SVN Server上面就可以取得最新版本。而且,SVN Server也可以做到当您上传新版本后,自动发信给相关的成员。
SVN的存放档案方式是采用差异备份的方式。也就是说,他只会备份有不同的地方。所以很省硬盘空间。此外,他也可以针对所谓的非文字文件进行差异备份。
分享到:
相关推荐
**SVN SubVersion**,全称为Subversion,是一款开源的版本控制系统,被广泛应用于软件开发领域,用以管理和跟踪项目中的文件和目录变更。Subversion的设计理念是为团队协作提供一个可靠的版本化文件存储系统,使得...
Subversion(SVN)是一个开源的版本控制系统,用于管理对软件项目源代码的更改。它在软件开发领域中广泛使用,特别是在多人协作的环境中,帮助团队成员协同工作,跟踪文件的修改历史,以及解决合并冲突等问题。...
【SVN配置管理subversion服务器端和客户端操作】 SVN(Subversion)是一种版本控制系统,用于管理和跟踪项目源代码和其他文件的更改。本教程将详细解释如何配置SVN服务器端和客户端,包括库的搭建、文件操作以及...
基于SUSE Linux Enterprise Server 11.3整理好的Linux版SVN工具subversion,版本1.8.11。安装后可以将虚拟机映射到win上直接使用。
AnkhSvn则是另一个Subversion的Visual Studio插件,它为开发人员提供了在Microsoft Visual Studio IDE内直接使用SVN的功能。通过AnkhSvn,开发者可以在编写代码的同时进行版本控制操作,如提交、合并、解决冲突,...
Setup-Subversion-1.7.5; SVNService; TortoiseSVN-1.7.12.24070-win32-svn-1.7.9; LanguagePack_1.7.12.24070-win32-zh_CN;
要安装Subversion,我们需要执行以下步骤: 1. **更新系统**: 在开始安装任何新软件之前,确保系统是最新的。打开终端并运行以下命令: ``` sudo apt-get update sudo apt-get upgrade ``` 2. **安装依赖**: ...
什么是 Subversion? Subversion 是一个版本控制系统,用于跟踪和管理代码的变化。它允许多个开发者合作开发一个项目,并且能够跟踪代码的变化、解决冲突和恢复到之前的版本。 Subversion 的历史 Subversion 的...
Subversion(简称svn)是流行的版本控制系统,用于管理源代码版本。Jenkins SVN 插件是将这两者结合的关键,它使得 Jenkins 能够与 Subversion 进行交互,例如拉取代码、跟踪代码变更以及触发构建。 **Jenkins SVN ...
svn (subversion)使用记录 (1): 安装subversion 直接使用软件管理工具即可 也可以自己编译源码安装,到subversion.apache.org去自己下载编译即可 (2): 创建 svn 仓库
Subversion(SVN)是一种广泛使用的版本控制系统,用于管理和跟踪文件和目录的变更。它允许多人协同工作,并在代码修改、合并和版本控制方面提供强大的功能。Subversion服务端是整个系统的核心,负责存储和管理项目...
### Subversion (SVN) 深入浅出解析 #### 一、Subversion 的诞生背景与发展历程 Subversion(简称 SVN),作为一种先进的版本控制系统,它的出现是对早期版本控制系统CVS(Concurrent Versions System)的一次重大...
Subversion(SVN)是Apache软件基金会开发的一款版本控制系统,用于管理文件和目录的历史记录,支持分支合并等操作,广泛应用于软件开发、文档管理和协作工作。在Linux环境中,安装Subversion是进行团队协作的重要...
rapidsvn安装所需的全部资源包,可离线安装(gtk2和openssl的rpm包只上传了centos7版本) apr-1.5.2.tar.gz apr-util-1.5.4.tar.bz2 neon-0.29.6.tar.gz(可选,neon是subversion解析web http协议的包,视subversion...
标题 "svn tigris subversion tortoise 使用" 涉及到的是版本控制系统Subversion(SVN)的使用,特别是TortoiseSVN这个图形化客户端。Subversion是一款开源的版本控制系统,用于管理文件和目录的变更历史,而...
提升您的Subversion(SVN)体验,通过这个简易的中文语言包,将SVN客户端界面本地化为中文,使得中文用户能够更加便捷地进行版本控制操作。这个语言包是为了帮助非英语母语的开发者和项目管理者更舒适地使用SVN,...
总之,CollabNet Subversion Edge结合TortoiseSVN的使用,为开发团队提供了强大的源代码管理和协作环境。通过清晰的步骤,你可以轻松地搭建起一个功能完备的SVN服务器,让团队成员高效地进行版本控制和协同开发。
为什么需要属性? 操作属性 属性和 Subversion 工作流程 自动设置属性 文件移植性 文件内容类型 文件的可执行性 行结束字符串 忽略未版本控制的条目 关键字替换 锁定 创建锁定 发现锁定 解除和偷窃锁定 锁定交流 ...
《svnbook》是官方的 Subversion 参考手册,包含了全面的 SVN 使用教程和高级主题,例如: 1. SVN 基础:介绍 SVN 的基本概念和工作流程。 2. 版本控制策略:推荐的开发模式,如 Trunk-Branch-Tags 模式。 3. 版本库...