`

SVN tag和branch的选择及应用

阅读更多
在SVN中Branch/tag在一个功能选项中,在使用中也往往产生混淆。

在实现上,branch和tag,对于svn都是使用copy实现的,所以他们在默认的权限上和一般的目录没有区别。至于何时用tag,何时用branch,完全由人主观的根据规范和需要来选择,而不是强制的(比如cvs)。

一般情况下,
tag,是用来做一个milestone的,不管是不是release,都是一个可用的版本。这里,应该是只读的。更多的是一个显示用的,给人一个可读(readable)的标记。
branch,是用来做并行开发的,这里的并行是指和trunk进行比较。

比如,3.0开发完成,这个时候要做一个tag,tag_release_3_0,然后基于这个tag做release,比如安装程序等。trunk进入3.1的开发,但是3.0发现了bug,那么就需要基于tag_release_3_0做一个branch,branch_bugfix_3_0,基于这个branch进行bugfix,等到bugfix结束,做一个tag,tag_release_3_0_1,然后,根据需要决定branch_bugfix_3_0是否并入trunk。

对于svn还要注意的一点,就是它是全局版本号,其实这个就是一个tag的标记,所以我们经常可以看到,什么什么release,基于xxx项目的2xxxx版本。就是这个意思了。但是,它还明确的给出一个tag的概念,就是因为这个更加的可读,毕竟记住tag_release_1_0要比记住一个很大的版本号容易的多。
分享到:
评论
1 楼 imust2008 2009-11-09  
可以做个针对branch的tag吗?
要开发V2,但是V1以后要继续维护,于是先建立一个branches/b_v1,那么V1经常变动,我需要b_v1改进过程中发布稳定版本,这个tag应该怎么建立? 我当然不希望在trunck上建立了,因为跟trunck没多大关系了

相关推荐

    SVN trunk, branch, tag merge 等的应用

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

    SVN版本控制方案

    通过对SVN中Trunk、Branch、Tag的概念及使用方法的介绍,我们可以更好地理解如何高效地使用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中的Branches分支以及Tags标签详解与应用举例

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

    svn服务器和客服端应用软件

    6. 创建和切换分支(Branch/Tag):进行平行开发或创建项目里程碑。 **总结** 在Windows 7 64位系统上搭建和使用SVN服务器和客户端,可以有效提高团队协作效率,确保代码的版本管理和协同工作的顺利进行。安装和...

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

    SVN(Subversion)是一种版本控制系统,广泛应用于软件开发和项目管理中。在 SVN 中,标准目录结构是指 trunk、branches、tags三个目录,这三个目录反映了软件开发的通常模式。 Trunk Trunk 是主分支,是日常开发...

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

    SVN,全称为Subversion,是一款广泛应用于软件开发领域的版本控制系统。它允许团队成员协同工作,跟踪文件和目录的变化,并可以恢复到过去的任何版本。在本篇中,我们将深入探讨SVN服务端和客户端的安装及其相关知识...

    SVN主干和分支操作

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

    SVN版本控制系统

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

    svn插件myeclipse+svn插件

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

    svn服务端与客户端

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

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

    **正文** Subversion(简称SVN)是一种广泛使用的版本控制系统,用于管理软件开发中的源代码和其他文件...通过选择合适的SVN客户端和插件,开发者可以在Delphi环境中无缝地进行版本控制操作,提高开发效率和代码质量。

    svn及虚拟机资源

    SVN(Subversion)是一种广泛使用的版本控制系统,用于管理软件项目的源代码和其他文件的历史记录,使得多人协作开发成为可能。这个压缩包包含了不同...通过阅读提供的教程并实践操作,可以更好地理解和应用这些知识。

    smartsvn for mac

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

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

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

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

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

    WINDOWS svn安装包及教程_SVN

    7. **Branch and Tag**(分支与标签):在大型项目中,SVN允许创建分支进行特性开发或修复bug,而标签则用于标记项目的特定里程碑或发布版本。 8. **Repository Browser**(仓库浏览器):TortoiseSVN还提供了仓库...

Global site tag (gtag.js) - Google Analytics