• SVN与TortoiseSVN实战:标签与分支


    最近在写《IOS性能调优系列》,今天偷个懒,写写SVN与TortoiseSVN实战的第二篇,标签与分支。

    第一篇详见《SVN与TortoiseSVN实战:从入门到精通

    SVN与TortoiseSVN实战系列中很多知识点来源于《版本控制之道》这本书,我写的内容主要结合了TortoiseSVN工具,更多侧重于实际操作。

    很多项目人员没有正确运用SVN,仅仅作为源代码的团队共享来用,而没有充分利用标签、分支这些强大的特性。

    要正确使用SVN的标签和分支特性,就要先建立起合理的项目仓库结构。

    正确的SVN项目仓库结构


    很多项目人员往往在创建项目仓库以后,直接将整个项目的源代码提交到仓库的根目录,这往往是由于对SVN没有系统的了解。

    引用书里的图片,正确的项目仓库目录结构如下图:

    在根目录下首先建立三个目录:

    1、trunk:又称为主干,这个子目录才是应该将项目源代码提交到的位置。

    trunk目录代表着开发的主线,大部分的开发工作涉及到的更新、提交都在这个目录里,就跟“原始”的SVN使用一样。

    2、branches:这个目录就是分支目录,所有新建的分支都应放在这个目录。

    每一个branches下的分支代表了一条并行的开发过程,如果不明白可以继续往后看。

    3、tags:这个目录是标签目录,所有建立的标签都应放在tags目录下。

    每一个tags下的标签代表了一个项目的时间节点,或者说是事件、里程碑。

    这三个目录之所以如此命名,完全是约定俗成,而非SVN规定。

    什么是分支?


    分支的基本概念:一条基于另外一条开发线存在的分支,并共享在分离之前的日志,一个分支就象一个拷贝的存在,并从那里离开,并具有自己的历史。

    没有找到关于分支很简洁的解释,我的解释是分支相当于对于开发中的主干进行了复制,从此在分支上后续的所有操作与主干上的所有操作互不影响。

    使用分支前:

    你开发的IOS App已经测试完毕,提交到APPStore审核,在APPStore审核过程中你可能又开发了些功能但还没通过测试,这时APPStore把你的应用退回了,可能是你的Welcome图片不合格需要换一下,很简单的修改可能完全不需要经过测试流程,但这时你只有两种选择:

    1、把代码回滚到提交时的状态,修改后提交;

    2、把手头的功能开发完成,经过完整的测试、发布流程提交。

    合理使用分支后:

    你开发的IOS App已经测试完毕,提交到APPStore审核,根据你提交的版本号建立一个分支,在APPStore审核过程中你可能又开发了些功能但还没通过测试,这时APPStore把你的应用退回了,可能是你的Welcome图片不合格需要换一下,到这里你完全可以轻松应对,只需要把之前建立的那个分支签出到本地,修改后提交。

    使用分支后整个过程So easy~

    分支里保存的实际上是你建立分支时代码的快照,在分支上进行的修改还可以合并到主干中。

    什么是标签?


    标签和分支的本质是一样的,可以看到TortoiseSVN中,标签和分支实际上在一个菜单:

    分支与标签的使用也是约定俗称的,混用分支与标签SVN也不会禁止。

    标签用来记录项目中的事件或里程碑,可以让你给项目中的事件起一个名字,比如发布2.0.0版本,以后你可以使用这个名字来签出它。

    标签与分支对比


    还是继续上面的例子:

    APPStore审核通过,这时你应该为分支建立一个标签,然后将分支的修改合并到主干,然后删除分支。

    更直白的说,你可以在分支上进行并行开发,而不应该修改标签里的内容,标签仅应当作为一份代码的快照。

    后续


    本篇先将理论,下篇讲解使用TortoiseSVN进行分支和标签的实际操作,网上查了下,发现使用TortoiseSVN的分支合并操作居然全是错的,所以感觉到非常有必要写出来,明天更新~


    记录,为更好的自己!转载请注明出处~

  • 相关阅读:
    CSS浏览器兼容----IE的定制CSS样式
    CSS浏览器兼容---判断IE版本的HTM语句
    单链表操作1
    数学建模1
    浏览器内核学习笔记二
    浏览器内核学习笔记一
    网页使用特殊字体
    SQL Server 2008 R2没有卸载干净
    RadioButtonFor绑定值
    SVN 服务启动报错 0x8007042a
  • 原文地址:https://www.cnblogs.com/ym123/p/4326721.html
Copyright © 2020-2023  润新知