一直没明白trunk branches tags的意思,今天问了一下google,来理解一下。
trunk:主线,开发过程中的工作目录
branches:支线,临时分支,定制化需求
branches/order008
branches/order009
tags:发布目录,不做修改
tags/release-1.0
tags/release-1.1
场景一:
产品开发已经基本完成,并且通过很严格的测试,这时候我们就想发布我们的1.0版本,不再提交代码
1. svn copy svn://server/trunk svn://server/tags/release-1.0 -m "1.0 released"
场景二:
有一个客户想对产品做定制,我们可以从已发布库中选择一个版本,做为起点来开发
1. svn copy svn://server/tags/release-1.0 svn://server/branches/order009 -m "定单009"
场景三:
有一天,突然在trunk下的core中发现一个致命的bug,那么所有的branches一定也一样,这时需要进行分支合并
1. svn -r 148:149 merge svn://server/trunk branches/order008
2. svn -r 148:149 merge svn://server/trunk branches/order009
其中148和149是两次修改的版本号。
由 于我们是给自己公司的网站源码做配置管理,没有明确的trunk branches tags区分。我们以SCRUM的形式做开发,一般保持两个版本线,一条主线A,一条支线B。A与运行版本保持一致,B做为Sprint开发的工作目录。 A,B都可以提交代码,视情况在A,B之间进行部分合并。Sprint开发完成后,进行总合并,并选择其中一条继续做主线,移除另一条。下一期 Sprint开始的时候,继续A,B两条线的开发。
这样做的目的,也是为了适应自己的配置需求,在进行B线开发时,经常会有A线的改动。A线的代码保持最新,可更新到运行环境的能力。混乱经常发生在合并A,B的时候,不过长痛不如短痛,用一时的混乱,换取长期的稳定。
本文转载自大数据时代
相关推荐
在svn中,`trunk`、`branches`和`tags`是三个核心概念,它们各自承担着不同的角色,帮助团队有效地管理源代码。 1. **trunk**: `trunk`是主要的开发目录,它存储着项目的主线开发代码。开发人员日常的编码工作...
SVN 标准目录结构:trunk、...SVN 的标准目录结构:trunk、branches、tags 是软件开发中的一种常见的目录结构,用于版本控制和项目管理。通过理解这三个目录的作用和用途,能够更好地使用 SVN 实现版本控制和项目管理。
为了便于创建分支和标签,通常将版本库的结构布置为:/branches,/tags,/trunk。分别代表分支、标签以及主干。 创建 Branch 分支或者 Tag 标签非常容易,只需要在 TortoiseSVN 中创建对应的文件夹,然后将其提交到 ...
软件配置管理的目录结构包括Trunk、Branches和Tags三个部分,用于存放项目期间处于开发状态的相关代码和资料、经过验证后的阶段性成果和发布后的产品。 软件配置管理的关键术语包括配置项、基线、配置标识、控制、...
配置库是项目管理的核心组成部分,分为trunk(主版本)、branches(分支版本)和tags(基线版本)三个主要部分: 1. trunk:主要处理对项目有重大影响的需求,以及复杂和长期的开发任务。 2. branches:处理个性化...
配置完成后,trunk、branches、tags三个选项后的状态应变为绿色,表明已成功连接到SVN服务器。 总结来说,配置Xcode的SVN版本控制主要包括检查SVN是否已安装、添加SVN仓库、处理权限问题以及验证配置是否成功。通过...
**SVN的三种代码库**—trunk、branches和tags—各自扮演着不同的角色。trunk是主开发线,保持最新的稳定代码;branches用于隔离开发新功能或修复bug,避免影响主线;tags则用于标记特定阶段的稳定版本,通常代表一个...
1. **分支策略**:除了trunk,团队还可能使用特性分支(feature branches)来隔离新功能的开发,待完成后合并回trunk。 2. **合并冲突**:由于多人同时修改trunk上的代码,可能会发生合并冲突,需要妥善解决以避免...
trunk 保持了主线开发的连续性,branches 提供了隔离的开发环境,而 tags 则是时间胶囊,记录了项目的各个重要阶段。 总的来说,正确使用 SVN 的 trunk、branch 和 tag,可以有效地支持敏捷开发和持续集成,提高...
集中式开发——基于 Trunk 的开发和分散式开发——基于 Branches 的开发是两种常见的版本管理流程图。集中式开发方式简单,但代码对于多个不同的项目,不同的需求只有一份代码,正在修改中的代码不能很好地响应紧急...
资源中有 SVN 主干(trunk)、分支(branch )、标记(tag) 的详细解释,和作用 并带 SVN分支与合并 的详细操作文档(附图)。 SVN分支与合并的总结 1.分支(branche)的创建。 1、分支创建是建立在主干上的。 2、创建...
配置库目录结构规划包括tags(发布)、trunk(主版本)、branches(分支)等三个部分。其中,项目内部的目录结构包括projectA、src、doc、tool等几个部分。 版本管理对象包括软件项目的所有正式文档和代码,包括...
解析解决方案建立三个分支,包括主版本开发(trunk)、分支版本开发(branches)和发布(tags)。 7. 权限管理 权限管理建议对配置库的访问权限进行管理,确保软件系统的完整性和安全性。权限管理细则包括开发...
4. **配置库的目录结构**:每个工程在配置库中应有唯一名称,目录结构一般分为`tags`(发布)、`trunk`(主版本)和`branches`(分支)。`tags`用于存放不同版本的发布快照,`trunk`是主开发分支,`branches`则用于分支...
仓库名称自定义,如StartKit,可选择是否自动创建trunk、branches、tags目录。然后进行用户管理和权限设置。例如,创建用户starter、Developer1、tester1、manager1,分别赋予不同的权限。starter为只读,Developer1...
配置库管理员肩负着日常维护和管理配置库的责任,监督开发及测试部门及时提交版本管理对象。此外,这个角色可以由开发或测试人员兼任,以确保对版本管理的直接参与和了解。 三、内容 1. 版本管理对象:涵盖了项目从...
勾选CheckBox则会在代码库下自动创建trunk、branches、tags三个标准目录,不勾选则创建空库。 - 安全性设置:在Users部分,右键添加用户,如User1,设置相应的权限。可以为每个用户分配不同的访问权限,或者创建组...
2. **配置库目录结构**:每个项目在配置库中应有唯一的项目名称,并遵循预设的目录结构,如tags(发布)、trunk(主版本)和branches(分支)。tags用于存储已发布的稳定版本,trunk是主要的开发分支,branches则...