`
yangtao309
  • 浏览: 66471 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

subversion 主干和分支 合并问题

阅读更多
subversion 主干和分支 合并问题

一直不知道主干和分支在SVN中的作用
今天公司项目组的成员用到了 而且遇到了主干和分支合并的问题
其实都知道subversion的eclipse差距subclipse支持主干与分支的合并
但就是很不安全 很容易覆盖掉文件

真实案例:
主干上是和服务器上部署的代码一致的
分支上是现有正在开发解决新需求的

可是在业务部门运营项目时,发现一个很急的bug需要处理
很显然 我们会创建一个分支进行修改,
等功能全部测试通过了 再合并到主干

这样主干上的代码就和正在开发解决新需求的代码都有改动
不能用最新的分支版本来合并最新的主干版本

应该用主干的前一个版本 和创建开发解决新需求的新分支时候是一致的
就可以用分支来合并主干

注意: 还是很不安全 需要确保每次按功能来提交版本 保存版本的

==
1、如果是需要将主线的改动合并到分支上,需要在分支的工作副本下进行合并,合并的范围是需要从主线上上次合并的版本到当前主线上最新的版本,如果主线和分支都修改了相同的文件,合并后会出现冲突,然后解决冲突,如果主线修改但是分支没有修改,则主线上合并的变更内容会增加到当前副本中,提交,如果是第一次合并,则起始版本号是上次建立分支的版本号
2、相反,如果是需要将分支的改动合并到主线上,需要在主线的工作副本下进行合并,合并的范围是需要从分支上上次合并的版本到当前分支上最新的版本,合并后会出现冲突(冲突的前提如上种情况),然后解决冲突,提交,如果是第一次合并,则起始版本号是上次建立分支的版本号

合并的工作是把主线或者分支上合并范围内的所有改动列出,并对比当前副本的内容,由合并者手工修改冲突。如果当前工作副本是主线的,则合并的范围是分支上的改动,如果工作副本是分支的,则合并范围是主线上的改动
分享到:
评论
12 楼 downpour 2010-07-06  
yangtao309 写道
个人认为没有最好的方法来处理好主干与分支的问题
就看那一些方法最适合你 最高效的解决问题


最好的方法就是保持你的branch的生命周期足够短。空谈是没有意义的,你多实践几次就可以感觉出来了,一切问题的根源都会在branch的生命周期管理上。
11 楼 yangtao309 2010-07-05  
个人认为没有最好的方法来处理好主干与分支的问题
就看那一些方法最适合你 最高效的解决问题
10 楼 luolonghao 2010-07-05  
trunk和branch改动都很多,除了经常merge之外没什么好方法,双向merge不推荐,单向merge比较好。

svn copy trunk branch1
svn copy trunk branch2
trunk改了很多
branche1改了很多
branche2改了很多
svn copy trunk branch1_1
svn copy trunk branch2_1
svn merge branch1 branch1_1
svn merge branch2 branch2_1
svn del branch1
svn del branch2
...
branch1_1开发结束测试通过
svn merge branche1_1 trunk
9 楼 downpour 2010-07-05  
一个branch的生命周期要尽量短,如果一个branch的生命周期能够超过1周,那么首先要考虑一下你们的开发流程是否完善。

交叉merge永远都会带来各种各样的问题,请谨慎用之。merge过程中的人工干预基本上是不可少的,幸好现在工具很多,不用为此担心。
8 楼 daquan198163 2010-07-05  
LeisureDev 写道
daquan198163 写道
LeisureDev 写道
如果主干上修改的,跟分支上修改的相同文件都比较多,那么,合并时就得一个个文件进行合并。这工作量不大吗?如果是多分支呢?

一直在想解决这个工作量的问题。

只有两个地方改了同一行,才会出现真正的冲突,否则svn都可以自动帮你合并了,
怎么会有很大工作量?


主干上修改了n多行,而分支又修改了n多行,假如我又再多一个分支又修改了n多行。你确保自动合并安全,可靠吗?!

自动合并只能保证代码不会被无意的覆盖、丢失。
安全可靠?
这么说吧,就算没有分支、合并,你确保程序员改的n多行代码安全可靠吗?
7 楼 LeisureDev 2010-07-05  
daquan198163 写道
LeisureDev 写道
如果主干上修改的,跟分支上修改的相同文件都比较多,那么,合并时就得一个个文件进行合并。这工作量不大吗?如果是多分支呢?

一直在想解决这个工作量的问题。

只有两个地方改了同一行,才会出现真正的冲突,否则svn都可以自动帮你合并了,
怎么会有很大工作量?


主干上修改了n多行,而分支又修改了n多行,假如我又再多一个分支又修改了n多行。你确保自动合并安全,可靠吗?!
6 楼 daquan198163 2010-07-02  
记录下来 ? svn的记录还不够么?
5 楼 yangtao309 2010-07-02  
daquan198163 写道
LeisureDev 写道
如果主干上修改的,跟分支上修改的相同文件都比较多,那么,合并时就得一个个文件进行合并。这工作量不大吗?如果是多分支呢?

一直在想解决这个工作量的问题。

只有两个地方改了同一行,才会出现真正的冲突,否则svn都可以自动帮你合并了,
怎么会有很大工作量?


确实可以帮助你来合并
关键是解决冲突的效益问题
如果能够有个较好的方式或者管理上一贯执行的准则 可能效益会跟高些
最原始的 可能是自己记录那些是自己改过的 还有就是处理些什么问题 一一记录下来
方便上线前的 代码合并检查
4 楼 daquan198163 2010-07-02  
LeisureDev 写道
如果主干上修改的,跟分支上修改的相同文件都比较多,那么,合并时就得一个个文件进行合并。这工作量不大吗?如果是多分支呢?

一直在想解决这个工作量的问题。

只有两个地方改了同一行,才会出现真正的冲突,否则svn都可以自动帮你合并了,
怎么会有很大工作量?
3 楼 daquan198163 2010-07-02  
你那个紧急分支上线成功后,除了要合并到主干,还要合并到其它正在开发的分支。

ps:紧急分支应该是从上一个生产版本建出来的。

而且也不存在“主干上的代码就和正在开发解决新需求的代码都有改动,不能用最新的分支版本来合并最新的主干版本 ”的问题。
都有改动一样可以合并,有冲突就解决冲突呗。
2 楼 aws 2010-07-02  
人眼检查后合并吧
1 楼 LeisureDev 2010-07-02  
如果主干上修改的,跟分支上修改的相同文件都比较多,那么,合并时就得一个个文件进行合并。这工作量不大吗?如果是多分支呢?

一直在想解决这个工作量的问题。

相关推荐

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

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

    Subversion分支与合并

    **Subversion 分支与合并详解** ...通过以上内容,我们对Subversion中的分支和合并有了深入的理解,掌握了如何创建、合并分支以及处理冲突的方法。在实际项目中,灵活运用这些知识能有效地提高团队协作效率和代码质量。

    SVN主干和分支操作

    - 可以选择从主干合并到分支、从分支合并到主干等不同操作。 - 根据需求选择合并选项,点击“OK”后会显示差异列表供用户确认。 #### 四、实践总结 通过上述步骤,我们可以有效地利用 SVN 进行项目的版本管理和...

    svn分主干合并,让你分主干合并立马搞定

    本文将详细解释如何执行 SVN 分支合并,特别是如何将开发分支合并到主干分支。 首先,创建主干分支是合并过程的起点。在提供的示例中,开发人员使用 `svn cp` 命令从主干创建了一个新的分支。这一步骤确保了开发...

    TortoiseSVN 分支与合并操作

    在软件开发中,分支管理和合并是至关重要的功能,能够支持团队并行开发,同时保持代码的一致性和完整性。下面我们将详细探讨TortoiseSVN中的分支与合并操作。 ### 1. 创建分支 创建分支的主要目的是为了解耦开发...

    svn分支合并基本操作

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

    版本分支、合并操作手册

    - **双分支策略**:主干和开发分支,主干用于发布稳定版本,开发分支用于新功能开发,定期合并到主干。 - **基于产品级的分支**:针对不同产品版本创建分支,如维护旧版本的修复分支,同时进行新版本的开发。 - *...

    SVN 拉分支及合并演示

    合并是将分支上的更改合并回主干或与其他分支合并的关键操作。SVN 提供了三种类型的合并: 1. **合并一个范围的版本** 这是最常见的合并方式,用于将分支上的所有或特定版本的更改合并到主干。在主干的工作副本上...

    svn拉分支合并文档

    * 合并分支:可以将不同的分支合并到一起,例如将功能分支合并到主干上。 svn的权限管理: * 权限控制:可以根据需要设置不同的权限,例如读取、写入、执行等。 * 访问控制:可以根据需要设置不同的访问控制,例如...

    SVN分支的合并和同步

    SVN分支的合并和同步 SVN(Subversion)是一种版本...* 不管是从trunk合并到分支还是最终从分支合并回trunk,在每次合并前最好先update,然后将本地的修改先全部commit,保护好现场,万一合并不理想随时都可以revert

    SVN分支合并经验总结

    本文将深入探讨在SVN中进行分支合并的具体方法,特别是如何处理主干(trunk)与分支(branch)之间的代码差异,以及在不同场景下的最佳实践。 #### 重要概念回顾 在SVN中,`trunk`通常代表项目的主线或最新稳定...

    Apache-Subversion-1.14.2

    分支和合并:SVN 支持创建分支,让团队成员在独立的工作副本上进行开发,并在完成后将更改合并到主干代码中。这种分支和合并的功能使得团队可以并行开发不同功能或修复bug,而不会相互干扰。 文件和目录管理:SVN ...

    svn版本之间的合并问题

    1. **保持清晰的分支策略**:定义明确的开发、测试和主干分支,避免无序的合并操作。 2. **定期同步**:定期将各个分支的最新改动同步到主干分支,减少合并时的冲突数量。 3. **使用标记(Tags)而非复制**:对于...

    SVN创建合并分支.docx

    #### 四、从分支合并到主干 当分支上的新需求开发完成并通过测试后,就需要将其合并回主干,以便进行下一步的开发或部署。 1. **提交分支代码**: 确保分支中的所有更改都已经提交到SVN仓库。 2. **执行合并操作**:...

    Version Control with Subversion

    4. 版本合并:将分支的更新合并到主干,解决合并冲突。 5. 权限管理:通过SVN服务器配置权限,控制用户对仓库的访问和操作。 四、Subversion与其他工具集成 1. 集成IDE:如Eclipse、IntelliJ IDEA等支持Subversion...

    Version Control with Subversion For Subversion 1.3

    综上所述,Subversion提供了一套完整的版本控制解决方案,不仅支持基础的操作,还具备高级的功能如分支和合并,适用于各种规模的项目管理和团队协作。通过掌握Subversion的核心概念和操作,开发者能够有效地管理项目...

    TortoiseSVN的分支与合并

    合并可以确保主干代码包含了所有分支上的改进,从而保持代码的最新状态和质量。 #### 二、创建分支或标记 在TortoiseSVN中,创建分支或标记的操作相对直观: 1. **选择目标目录**:在当前工作拷贝中选定要分支或...

Global site tag (gtag.js) - Google Analytics