Subversion简介
作为一名编程人员,SVN经常作为代码、项目的版本控制,殊不知SVN也可作为其他领域的版本控制,例如对文档、音频、视频等 。
SVN可以看成一种文件系统,为了使工作人员提高工作效率,可以进行并行的工作,SVN采用复制-修改-合并的方案而不是锁定-修改-解锁。
SVN中有一个叫全局版本号的概念,如果这个全局版本号会在你每次提交的时候进行+1,也就是说项目中的子目录每次在提交的时候,都会在原有的版本号上进行累加。每一个版本号都会对应一个快照版本

本地的版本通常是混乱的,每个文件的版本号可能都会不一样,这是因为SVN中push和pull是分离的,更新与提交是分离的。
原生的SVN提供了一系列的操作指令,通常的工作中我们都是通过可视化工具进行SVN操作,比如Eclipse SVN插件、Tortoise,而这些工具实际上也只执行SVN提供的命令。
SVN仓库布局可以自己意愿设置,但是也给出了推荐的布局;trunk branches tags
Trunk:主线开发;Branches:分支开发;tags:打包上线;
记得在以前工作中有这样一个场景:
项目最开始有一个标准版,随着厂家客户不断的增多。定制化需求 功能模块的修改越来越多。通常同一个模块在不同厂家中功能流程不一致。当时就不断的创建新的项目,但是开发人员、维护人有限,通常一个人要负责好几个厂家的项目,而且标准版出现的bug在其他的版本也会有,就出现了一个Bug需要修改多次的窘地。
如果利用SVN,可以通过过创建分支的方式缓解这一问题。
可以将标准版作为主线,如果遇到厂家的定制开发,就需要创建分支。这样标准版的bug修改一次,通过合并到分支的方式来解决这个一问题。
--------------------------------------------------SVN仓库布局------------------------------------------------------
Trunk:主干;branches:分支,tags:标签,里程碑。
Trunk:通常为项目正式的版本,分支中的代码经过测试后 都需要 合回到主干中。当有好多分支,合并到主干的时候,这个主干有点像河流汇总的意思,最终形成了黄河长江即 最终版本。
Branches:应该是我们日常开发中,接触最多的文件,通常会分为好多种,修改Bug中的分支,新功能分支,新技术分支等,当功能开发好后,经过测试,测试通过即可合并到主干中去。
Tags:最大的特点是只可以update,不可以commit。当我们需要到生产环境发布正式版的时候,我们会从主干中拿到最新的代码放到tag中,然后进行打包,发布。
Subversion简介的更多相关文章
- Subversion简介(一)
Subversion 就是一款实现版本控制的工具软件,通常也称为版本控制器,简称 SVN. Subversion 是 Apache 软件基金会组织下的一个项目. SVN 的工作原理:采取客户端/服务器 ...
- Subversion how[Reprint]
1. Subversion简介 Subversion(简称SVN)是一款功能强大的开源版本控制工具,支持Linux和Windows平台. SVN可以有两个访问方式,一种是独立服务器直接访问,即利用 ...
- CentOS 6.3 + Subversion + Usvn 搭建版本管理服务器
一. Subversion 简介 Subversion是一个自由,开源的版本控制系统.在Subversion管理下,文件和目录可以超越时空.Subversion将文件存放在中心版本库里.这个版本库很像 ...
- Linux运维之道(大量经典案例、问题分析,运维案头书,红帽推荐)
Linux运维之道(大量经典案例.问题分析,运维案头书,红帽推荐) 丁明一 编 ISBN 978-7-121-21877-4 2014年1月出版 定价:69.00元 448页 16开 编辑推荐 1 ...
- Eclipse下使用SVN版本控制
作者:朱先忠编译 转自天极[url]http://dev.yesky.com/356/2578856.shtml[/url] 简单介绍一些基本操作1.同步在Eclipse下,右击你要同步的工程-tea ...
- [转]将已有项目代码加入svn版本控制
原文链接:https://blog.csdn.net/aaroun/article/details/79074178 将已有项目代码加入svn版本控制 - TortoiseSVN入门篇Windows下 ...
- SVN将项目代码加入svn版本控制
将已有项目代码加入svn版本控制 - TortoiseSVN入门篇Windows下SVN实用教程(以TortoiseSVN作为客户端(client)) 翻译: Bravo Young Next: 版本 ...
- Subversion Server Edge用户权限设置简介
Subversion Server Edge用户权限可分为两种,一种为按用户权限,一种为按组权限设置 1.按用户设置权限 [codeLibrary:/] //对整个代码库 *=r //所有用户 ...
- 版本管理工具svn简介
svn简介 SVN是一种C/S架构的版本管理软件 , 能够帮助我们保存开发过程中各个文件的所有历史版本, 你因此可以方便的找回软件的任何一个历史状态., 日常开发中经常用到. 安装使用 1. 在 u ...
随机推荐
- A. Yet Another Problem with Strings 分块 + hash
http://codeforces.com/gym/101138/problem/A 感觉有一种套路就是总长度 <= 某一个数的这类题,大多可以分块 首先把集合串按长度分块,对于每一个询问串, ...
- PlayMaker Debug Int/Float/Vector3...
1.在一个游戏对象上建一个PlayMakerFSM,在状态机里新建几个不同类型的变量: 2.再新加几个Action: 3.运行,结果如下:
- python3.4 x86_64-linux-gnu-gcc Error
running install running build running build_py creating build creating build/lib.linux-x ...
- etc
小小的注意点们 交换两个变量的值时, 如果使用异或运算符, 需要先判断两个数是否相等 if (a == b) return; a ^= b; b = a ^ b; a ^= b; 取一个数组的中间位置 ...
- HDU 4355——Party All the Time——————【三分求最小和】
Party All the Time Time Limit: 6000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- 移动Web开发与适配笔记
项目要是适配手机端,想透彻的把相关内容弄清楚,现在总结一下. 一.移动端开发有如下特点: 1.跑在手机端的web 页面就是h5页面 2.具有跨平台性(web 安卓 iOS都适应) 3.基于webvie ...
- CentOS7安装MongoDB3.6企业版
参考资源 https://docs.mongodb.com/manual/tutorial/install-mongodb-enterprise-on-red-hat/ 下载安装 配置yum仓库 ...
- 总结spring
通过对spring的学习 什么是spring Spring是一个基于IOC和AOP的结构J2EE系统的框架 IOC 反转控制 是Spring的基础,Inversion Of Control 简单说就是 ...
- intellijidea课程 intellijidea神器使用技巧 6-1 Spring的关联
待学完spring之后再来看 Spring的关联位置:菜单->File->Project Structure->Facets功能:帮助管理Spring容器.还提供了很多其他的管理,比 ...
- (六)JavaScript之[Regular Expression]与[错误(try, catch, throw)]
10].正则表达式 /** * 正则表达式(Regular Expression): * * 用于文本搜索和文本替换 * */ /** * /good/i是一个正则表达式. * good是一个模式(用 ...