`
wutao8818
  • 浏览: 618541 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Subversion 分支操作

阅读更多
来源:http://www.blogjava.net/superliuwr/archive/2009/05/06/269214.html

创建分支

创建分支最快捷简便的方法就是直接对url操作,然后从新的url co出工作拷贝。在Subversion server上,用硬链接的方式处理不同version之间相同的文件。

svn copy http://svn.example.com/svnroot/comet/trunk http://svn.example.com/svnroot/comet/branches/2.8 –m “creating a private branch of comet”



合并一个分支上的修改到主干

Subversion的分支合并不是一个高风险的事情。其实Subversion并没有真正意义的分支概念,只有copy,但每个copy都会保留其所有的历史信息。像Clearcase那样的单独一个维度的version tag是不存在的,Subversion中的tag只是用来做快照而已,而且本质上也是copy,如果你提交新东西,那它就和branch是一样的。

简单地说,它一共只做了两件事。第一,比较两个版本的不同,这和你用svn diff得到的结果是一样的,只是svn diff会把changes打印出来。第二,把changes应用到你指定的工作拷贝上去,这表现为你的工作拷贝的本地修改,你可以在这个基础上再做修改,或是检查有没有问题,然后再提交。Subversion server并不关心你的提交是来自svn merge的修改,还是你自己改的代码。如果对结果不满意或者后悔了,一样可以用svn revert取消本地修改。

一个好的习惯是,提交的时候在注释中写清楚是从那个版本merge过来的。

Best practice 关于从某分支上merge changes到主干:

step1:找到前一次合并到主干时的version(341)

    svn log –v –-stop-on-copy http://svn.example.com/svnroot/comet/branches/2.8

step2:切换到trunk的本地工作目录

step3:update到最新,获得当前HEAD的version(405)

    svn update

    我们只用比较分支的初始状态和最终状态,然后把这些changes merge到主干上去,而不是分支的初始状态和主干的最终状态。

step4:merge

    svn merge –r 341:405 http://svn.example.com/svnroot/comet/branches/2.8

    此处省略了目标工作拷贝,默认是当前目录的工作拷贝,也可以指定

    svn merge –r 341:405 http://svn.example.com/svnroot/comet/branches/2.8 my_trunk_copy

step5:查看merge后的状态

    svn status

step6:编译测试看有无问题

step7:提交

    svn commit –m “Merged 2.8 changes r341:405 into the trunk.”

分享到:
评论

相关推荐

    Subversion分支与合并

    **Subversion 分支与合并详解** Subversion(简称SVN)是一种版本控制系统,它用于管理对源代码等文件的修改历史,便于团队协作和代码管理。在这个系统中,分支和合并是两个至关重要的概念,它们在多用户协作环境中...

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

    以下是对SVN创建、合并和切换分支操作的详细解释: ### SVN目录结构 1. **trunk**:这是主开发分支,通常存放项目的主线开发代码。日常开发工作在此分支上进行,确保最新的稳定代码在这里。 2. **branches**:分支...

    subversion

    ### Subversion (SVN) 在 Eclipse ...此外,还深入探讨了 Subversion 中的分支和合并操作,这些是日常开发中经常需要用到的功能。通过本文的学习,开发者应该能够掌握 Subversion 的基本用法,并将其应用到实际项目中。

    Subversion配置和使用之分支与合并

    Subversion(SVN)是一种版本控制系统,用于管理代码和其他文件的变更历史。在软件开发过程中,分支和合并是常见的操作,它们允许团队成员并行工作...理解和熟练掌握分支与合并操作对于有效地使用Subversion至关重要。

    Version Control with Subversion For Subversion 1.3

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

    SubVersion的应用详解

    本讲解将深入探讨SubVersion的基础概念、安装配置、基本操作以及在实际项目中的应用。 ### 1. SubVersion 基础 SubVersion的核心思想是版本化文件系统,它记录了文件和目录的历史版本,允许用户随时回滚到之前的...

    subversion-1.6.15.zip

    4. **更好的分支和标签支持**:Subversion 1.6加强了对分支和标签的管理,使得创建、合并和管理分支变得更加便捷,鼓励敏捷开发中的频繁分支和合并。 5. **修订日志查询**:提供了强大的命令行工具`svn log`,可以...

    subversion-1.7.9.zip

    有许多工具和插件与Subversion集成,如TortoiseSVN(Windows shell扩展),AnkhSVN(Visual Studio集成),以及Eclipse和IntelliJ IDEA的插件,它们提供了图形化的用户界面来操作Subversion。 7. **迁移和升级**:...

    Subversion

    在Subversion中,分支是指从主线分离出来的另一个工作流,允许团队成员在一个隔离的环境中进行实验性或并行的开发。 ##### 4.2 使用分支 - **建立分支**:使用`svn copy`命令可以轻松地从主线上创建一个新的分支。...

    svn(subversion) 使用手册

    通过以上内容,你可以全面了解和掌握Subversion的基本操作和高级特性,从而在实际项目中有效地进行版本控制和团队协作。无论是个人开发者还是大型团队,Subversion都能提供稳定、高效的代码版本管理服务。

    Version Control with Subversion

    1. 分支管理:Subversion支持分支策略,如特性分支、维护分支等,方便多线程开发。 2. 版本标签:标记特定版本,用于发布或里程碑。 3. 版本回溯:通过`svn log`查看历史记录,`svn diff`对比版本差异,`svn revert`...

    Version.Control.With.Subversion.For.Subversion.1.6

    通过深入学习《Version Control with Subversion for Subversion 1.6》,读者不仅能掌握Subversion的基本操作,还能了解到如何在实际项目中有效利用其特性,提升团队协作效率。这本书是任何使用或计划使用Subversion...

    svn subversion-1.7.2

    - Git:Git是分布式版本控制系统,相比Subversion,它提供了更快的速度、更强大的分支管理和离线工作能力,但学习曲线较陡峭。 - Mercurial:另一款分布式版本控制系统,与Git类似,但相对简单易用。 6. **安装和...

    Jenkins subversion 插件和所有依赖说明:依赖安装顺序

    5. **执行Subversion操作**:在构建步骤中,选择"Checkout from Subversion",并指定要检出的分支或标签。 遵循正确的安装顺序和配置方法,Jenkins与Subversion的集成将能够顺利进行,实现自动化构建和测试,提高...

    Subversion1.8.8 32位

    TortoiseSVN 1.8.6 是一个与Subversion集成的Windows shell界面客户端,使得用户可以方便地在Windows资源管理器中直接进行版本控制操作。 Subversion(简称svn)的核心特性包括: 1. **版本化文件和目录**:...

    Apache-Subversion-1.14.0.zip

    7. **分支与合并**:Subversion支持创建分支(branch)和合并(merge),允许开发人员在不影响主分支的情况下进行独立开发,然后将分支的改进安全地合并回去。 8. **URL路径**:Subversion使用URL来标识资源的位置...

    版本控制软件Subversion使用

    TortoiseSVN是Subversion的一个图形化客户端工具,它作为Windows资源管理器的扩展,提供了直观的操作界面,使得用户可以轻松地执行版本控制操作,如导入(Import)、检出(Checkout)、更新(Update)、提交(Commit...

    subversion-1.14.2.tar.gz

    3. 合并:当分支上的工作完成后,可以通过合并操作将改动合并回主分支。Subversion提供了强大的冲突解决机制,帮助处理不同人对同一文件的不同修改。 在解压"subversion-1.14.2.tar.gz"后,你将得到一个名为...

    subversion 1.5.5

    3. **更好的分支和标签策略**:Subversion 1.5引入了“便宜的分支”(cheap copies)特性,创建分支和标签的操作变得更加快速且资源效率更高。这意味着用户可以更频繁地创建和管理分支,以支持敏捷开发方法。 4. **...

Global site tag (gtag.js) - Google Analytics