`

svn的tag和branch的区别

阅读更多
多年前第一次接触svn,就知道有tag和branch的区别,但一直没搞清楚具体的差异。现在基本懂一些了,在这里总结一下

branch是分支,branch的代码是会往前走的。而tag是标签,我理解代码是静止的

这样说可能比较抽象,举例进行说明。

branch主要会有这些应用的场景:

1、阶段性的版本发到现场使用,但trunk上还需要继续做开发。这时候就会拉一个branch来定位现场问题,并出补丁。trunk继续做开发,互不冲突。

2、需要开发一些定制的需求,这时候也可以拉一个branch专门来做定制需求开发,在定制需求测试完成以后,再合入trunk

tag主要会有这些应用的场景:

1、一个版本转测试,在转测试之前打一个tag。这样这个tag就和转测试的版本是完全一致的,可以很方便地定位问题。

比如说第一天,测试测出问题A,于是在trunk上修改了A.java。

然后第二天,测试测出问题B,定位到也是在A.java上,但是由于这个时候A.java已经和测试环境不再一致(因为第一天改了)。那这个时候,用转测试之前的那个tag,就可以用来定位问题B了

2、要基于一个版本做升级包了,可以先将svn锁库,然后打一个tag。这时候svn库就可以解锁了,trunk上继续提交代码都没关系。然后将原始版本的tag,以及刚打的tag进行比对,制作升级包

总的来说,branch的代码是动态的,还会继续往前走,在合适的时候再合入trunk;而tag的代码是静态的,可以理解为是只读的(当然tag也是可以写的,但这样的话就成了事实上的branch,用branch可能更合适)
分享到:
评论
1 楼 lvye351 2016-08-04  
多谢,帮助了我

相关推荐

    SVN trunk, branch, tag merge 等的应用

    SVN(Subversion)是一种广泛使用的版本控制系统,它的核心概念包括trunk、branch和tag,这些都是进行协同开发和代码管理的重要元素。下面将详细解释这些概念以及它们在实际项目中的应用。 1. **Trunk**:Trunk通常...

    SVN版本控制方案

    SVN中通过Trunk、Branch、Tag三个主要的概念来组织和管理版本库的内容。 ##### 1. Trunk主干 - **定义**:Trunk是SVN仓库中的主要开发区域,存放项目的主线代码。 - **用途**:主要用于日常开发和维护,所有的修改...

    SVN 主干(trunk)、分支(branch )、标记(tag)

    资源中有 SVN 主干(trunk)、分支(branch )、标记(tag) 的详细解释,和作用 并带 SVN分支与合并 的详细操作文档(附图)。 SVN分支与合并的总结 1.分支(branche)的创建。 1、分支创建是建立在主干上的。 2、创建...

    4.1、SVN trunk(主线) branch(分支) tag(标记) 1

    本文将深入探讨 SVN 中的 trunk、branch 和 tag 三个核心概念,以及它们在实际开发场景中的应用。 首先,trunk(主干或主线)是项目的主要开发分支,代表了项目的最新稳定状态。新功能的开发通常在这个分支上进行,...

    SVN的标准目录结构:trunk、branches、tags

    Branch 和 Tag 的区别 Branch 和 Tag 都是使用 copy 实现的,但它们的用途不同。Branch 是用于并行开发的,用于存储阶段性的 release 版本或不同用户客制化的版本。Tag 是用于记录项目的历史版本的,通常是只读的...

    SVN版本控制系统

    - Branch/Tag:创建分支或标签,分支用于长期并行开发,标签用于标记特定版本。 4. SVN仓库管理: SVN仓库是存储所有版本历史的地方。管理员可以通过WebDAV协议提供仓库访问,或者通过SVN命令行工具进行权限管理...

    SVN中的Branches分支以及Tags标签详解与应用举例

    创建 Branch 分支或者 Tag 标签非常容易,只需要在 TortoiseSVN 中创建对应的文件夹,然后将其提交到 SVN 服务器中。例如,创建一个名为 v1.0 的分支,用于发布一个版本的文件。 Branches 分支的修改和使用 Merge ...

    svn服务端与客户端

    5. **Branch and Tag(分支与标签)**: 分支允许并行开发,而标签则用于创建特定版本的快照,通常用于发布里程碑或版本。 6. **Revision(版本)**: SVN 记录每次提交,每个提交都有一个唯一的修订号,可以追踪到...

    smartsvn for mac

    除了标准的SVN指令(例如checkout、update、commit、merge等)之外,其亦提供tag与branch处理(无需要为了转换不同的tag或branch而去处理URL)、内建档案比对与冲突处理器(conflict solver)等。使用者无需安装额外的工具...

    SVN服务端和客户端的安装包

    7. 分支与标签(Branch & Tag):分支用于开发新功能或修复,不干扰主线;标签用于标记特定版本,通常用于发布里程碑。 三、SVN与其他工具的集成 SVN可以与各种开发环境和IDE集成,如Eclipse、IntelliJ IDEA、...

    SVN主干和分支操作

    - 在弹出的“Copy (Branch/Tag)”对话框中,设置目标 URL 为分支路径(如`svn://localhost/project/branches`),点击“OK”。 4. **切换工作副本到分支**: - 右键点击项目,选择“Team” -> “Switch to ...

    svn服务端、客户端、eclipse svn插件

    - ** Branch(分支)**和**Tag(标签)**:创建项目副本以进行独立开发或标记特定版本。 **Eclipse SVN插件** Eclipse是一款流行的开源集成开发环境(IDE),支持多种编程语言。为了在Eclipse中使用SVN,需要安装一...

    SVN的Delphi扩展和SVN的安装和配置

    - `SVN分支`(Branch)用于隔离开发新功能或修复错误,完成后合并回主分支。 7. **故障排查与最佳实践** - 确保所有团队成员使用相同版本的SVN客户端,避免因版本不兼容导致的问题。 - 经常清理工作副本,避免...

    svn插件myeclipse+svn插件

    - SVN还支持标签(Tag)和分支(Branch)功能,便于创建项目版本和进行平行开发。在MyEclipse中,这些操作同样可以通过“Team”菜单实现。 - 我们还可以使用SVN的“Revert”功能撤销本地未提交的更改,或者使用...

    smartsvn-windows-setup-11_0_4.zip

    除了标准的SVN指令(例如checkout、update、commit、merge等)之外,其亦提供tag与branch处理(无需要为了转换不同的tag或branch而去处理URL)、内建档案比对与冲突处理器(conflict solver)等。使用者无需安装额外的工具...

    SVN打基线常用命令使用介绍

    在Subversion(简称SVN)这样的版本控制系统中,打基线通常是通过创建标签(tag)或分支(branch)来实现的。这两种方式都可以用来保存项目的特定状态,但它们之间有一些细微的区别: - **标签(tag)**:通常用于...

    SVN中文教程 SVN简明教程 SVN学习笔记

    - **Branch(分支)**和**Tag(标签)**:用于支持灵活的开发策略,分支用于并行开发,标签用于标记特定版本。 4. **SVN协同工作流程** - 开发者先从仓库检出最新代码到本地。 - 在本地完成代码修改后,进行`svn...

    svn 客户端和服务端工具

    SVN(Subversion)是一种广泛使用的版本控制系统,用于管理文件和目录的历史版本,便于多人协作开发。在软件开发中,SVN客户端和服务端工具是必不可少的组成部分。 ** SVN客户端工具 ** 1. **TortoiseSVN**:这是...

Global site tag (gtag.js) - Google Analytics