`
pandonix
  • 浏览: 400993 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

SVN中的分支

阅读更多

 

近日发现原来对 SVN 中分支的理解过于肤浅,所以特意花功夫深入了解一下。

 

分支用于解决什么样的问题?

在手机游戏开发过程中,经常会遇到多种机型移植的问题。通常开发人员都说以一种机型作为 release 基础版本的目标,然后再此基础上进行相关的适配工作,如,键值修改,屏幕大小的修改单等。

然而同时维护多个版本是异常头疼的事情,因为很少有人能保证在移植之前,基础版本是没有 bug 的,特别是在工期很紧的情况下。这样一来,基础版本中出现了 bug ,就需要手动的“ Ctrl+C/Ctrl+V ”到其他的所有版本,各种版本的管理非常混乱,经常一不小心就会出现这样那样的问题。

 

SVN 的分支 (branch) 虽然不能做到自动将基础版本中的修改复制到其他版本中,却可以对各种版本的管理提供更有效和更规范的支持,避免了很多人为造成的问题。使用 SVN 来管理,可以将基础版本作为主干 (trunk) ,并从项目启动到 alpha 版本的推出,都可以在主干上进行开发。 alpha 版本发布以后,对于其他版本可以分别建立分支,如: branch_moto branch_s603

 

如何创建分支?

创建分支非常简单,只需在需要创建分支的工作目录上,使用TortoiseSVN → Branch/Tag命令,在 "To URL" 项指定待创建的分支 url 即可。具体 可查看TortoiseSVN的帮助文档中的“ Braching/Taging ”一节

 

 

如何在分支下工作?

假设我们的主干名为 trunk ,分支目录名为 branch branch 实际上是 trunk 目录在 branch 创建时的 copy ,而创建以后, branch trunk 实际就是互不干扰的工作了, branch 上的修改不会影响到 trunk ,反之亦然。

 

如何合并分支?

事实上,我们并没有解决本文开头所提出的问题,即, trunk 有了修改之后,并不会自动提交到 branch 中(不知道有没有其他的版本管理工具可以做到),这一切都需要手动来实现,而这个过程在 SVN 中称为“合并 (merge) ”。

SVN 合并与原始的“ Ctrl+C/Ctrl+V ”相比,有以下几点好处(假设是将 trunk 合并到 branch 中):

1 trunk 中新增的文件可以自动合并到 branch

2 、提示 trunk branch 中的同名文件的冲突内容,便于用于编辑冲突

 

合并操作步骤

TortoiseSVN 中提供便捷的合并功能。在待合并的工作目录上(如: branch ),使用TortoiseSVN → Merge命令,在“ From:(start URL and revision of the range to merge) ”中选择希望合并的目录 ( 如: trunk) ,并指定希望合并的开始 revision 编号,在“ To:(end URL and revision of the range to merge) ”中选择结束 revision 编号。然后点击“ merge ”完成合并操作,剩下的工作就是编辑冲突了,当然运气好的话是不需要这个过程滴。

值得注意的是,“ From: ”和“ To: ”中的 URL 通常是相同的,切记不要与创建分支时的含义混淆。

与合并相关的操作可查看TortoiseSVN的帮助文档中的“ Merging ”一节

 

 

6
2
分享到:
评论
2 楼 pandonix 2008-08-22  
确实是这样的,实际上branch从trunk中分离出来以后,与trunk之间就是独立的了,而他们之间的合并还是需要通过手动操作。
而在SVN中还有一种Tag的概念,我对Tag的理解是它也是一个branch,只是这样的基本不需要持续维护Bug了
1 楼 chenlb 2008-08-22  
trunk 合并到 branch 后, trunk 与 branch还是想到独立吧, 只是合并操作帮助我们Ctrl + c / v

是不是这样?

相关推荐

    Eclipse svn创建分支、合并、切换讲解

    合并操作是 SVN 中的一种重要操作,通过合并操作,可以将分支中的修改合并到主干中。在 Eclipse 中,合并操作可以通过以下步骤实现: 1. 在分支中进行开发,并且提交,在主干中进行更新。 2. 打开合并,选择类型,...

    SVN 拉分支及合并演示

    在团队协作中,SVN 提供了创建分支和合并分支的功能,以便开发者可以在不影响主线开发的情况下进行独立的工作。下面将详细介绍如何在 SVN 中进行拉分支和合并操作。 一、创建仓库 创建 SVN 仓库是团队协作的第一步...

    svn拉分支合并文档

    "svn拉分支合并文档" SVN(Subversion)是一种开放源代码的版本控制系统,相比RCS和CVS,它采用了分支管理系统。SVN的主要特点是支持分布式版本控制,能够对文件和目录进行版本控制。 svn目录结构: * 每个子系统...

    SVN创建、合并与切换分支操作详解

    在实际开发中,SVN的分支管理策略可以帮助团队有效地组织工作,如使用特性分支进行新功能开发,使用hotfix分支快速修复生产环境的bug,以及使用release分支准备产品的发布。了解并熟练掌握这些基本操作是SVN协同开发...

    SVN分支合并到主干 冲突处理

    本文将详细讲解如何进行SVN分支与主干的合并以及冲突处理,帮助开发者更好地理解和掌握这一核心操作。 ### SVN分支与主干的概念 在SVN中,"分支"和"主干"是两个重要的概念。主干(Trunk)通常代表项目的主要开发线...

    SVN分支机制和开发规范

    二、 SVN分支简介 1、SVN仓库目录结构Repository 2、 结合eclipse创建分支 3、 结合eclipse创建标记tags 三、 合并主干和分支 1、 主干合并分支 2、 分支合并主干 3、 合并发生冲突 情况1:标记冲突,稍后处理。 ...

    svn创建分支的做法.rar

    一、SVN分支的理解 在SVN中,分支是一种复制主分支(trunk)的方法,这样你就可以在不影响主分支的情况下进行开发。分支就像主分支的一个快照,你可以在这个副本上自由地添加、修改或删除文件,而不会立即影响到主...

    ant相关-svn-分支

    当开发者从不同的分支进行开发时,这个任务会确保本地代码与选定的SVN分支同步。同样,如果需要合并分支,可以使用`svn-checkout`任务切换到目标分支。 在自动集成环境中,我们还可能需要设置自动测试和构建的逻辑...

    用SVN分支管理多版本

    ### SVN分支管理多版本知识点详解 #### 一、引言 在软件开发过程中,随着项目的迭代更新,如何高效地管理不同版本之间的代码成为了项目管理中的一个重要环节。Subversion(简称SVN)作为一款广泛使用的版本控制...

    SVN 分支与合并详解

    下面是对SVN分支与合并的详细讲解。 1. SVN分支创建: 在SVN中,创建分支通常是为了进行长期的特性开发或隔离修复工作。你可以通过`svn copy`命令或者在图形界面工具中选择“创建分支”选项来实现。例如,要从...

    SVN主干和分支操作

    #### 一、SVN分支的基本概念 在软件开发过程中,版本控制系统(Version Control System, VCS)是必不可少的工具之一。Subversion(SVN)作为一款流行的集中式版本控制系统,被广泛应用于项目管理之中。在SVN中,有...

    SVN如何建立版本分支

    #### 二、SVN分支的基本操作 ##### 创建分支 在实际操作中,可以使用Eclipse集成开发环境中的SVN插件来创建分支。具体步骤如下: 1. **打开Eclipse**:启动Eclipse IDE。 2. **选择项目**:右键点击需要创建分支...

    svn分支管理

    1. 将分支中改动的代码全部提交。 2. 切换到trunk。 3. 右击项目->Team->合并,选择merge two different trees,然后输入分支的URL,选择一个分支的版本,最后点击finish。 冲突解决 在分支合并到主干时,我们可能...

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

    SVN 中的 Branches 分支以及 Tags 标签详解与应用举例 SVN(Subversion)是一款版本控制系统,广泛应用于软件开发中。它可以帮助开发者管理和控制代码的版本。SVN 中有两个重要的概念:Branches 分支和 Tags 标签。...

    svn分支合并基本操作

    【SVN 分支合并基本操作】是软件开发中配置管理工具 Subversion (SVN) 的核心功能之一,它允许开发团队协同工作,各自在独立的分支上开发,然后将改动合并回主干,以保持代码的稳定性和一致性。以下是详细的操作步骤...

    SVN使用的分支与合并

    在软件开发过程中,SVN 的分支与合并功能是非常重要的,下面我们将详细介绍 SVN 中的分支与合并。 为什么需要分支?在软件开发过程中,项目需求可能会突然变化,导致项目需要做较大改动。这时,如果整个团队都在同...

    SVN分支的创建与合并

    SVN 分支的创建与合并是版本控制系统中非常重要的特性,可以帮助开发者更好地管理和维护代码。通过创建分支,可以将新的特性或 bug 修复工作与主干分离,避免对主干的干扰。当新的特性或 bug 修复工作足够稳定之后,...

    SVN分支使用说明

    SVN分支管理使用说明,以图片方式示意一个项目如何创建并管理SVN分支【管理员文件选择错了】

Global site tag (gtag.js) - Google Analytics