zoukankan      html  css  js  c++  java
  • svn里的branch、trunk、tag的用处

    这只是个说明,你不按说明来办事也不会怎么样,svn照样工作得很好。

    branches:分枝

    当多个人合作(Sally和John)时,可能有这样的情况出现:John突然有个想法,跟原先的设计不太一致,可能是功能的添加或者日志格式的改进等等,总而言之,这个想法可能需要花一段时间来完成,而这个过程中,John的一些操作可能会影响Sally的工作,John从现有的状态单独出一个project的话,又不能及时得到Sally对已有代码做的修正,而且独立出来的话,John的尝试成功时,跟原来的合并也存在困难。这时最好的实践方法是使用branches。John建立一个自己的branch,然后在里面实验,必要的时候从Sally的trunk里取得更新,或者将自己的阶段成果汇集到trunk中。(svn copy SourceURL/trunk DestinationURL/branchName -m "Creating a private branch of xxxx/trunk." )

    trunk:主干

    主干,一般来说就是开发的主要呆的地方,

    tag:

    在经过了一段时间的开发后,项目到达了一个里程碑阶段,你可能想记录这一阶段的代码的状态,那么你就需要给代码打上标签。(svn cp file:///svnroot/mojavescripts/trunk file:///svnroot/mojavescripts/tags/mirrorutils_rel_0_0_1

    -m "taged mirrorutils_rel_0_0_1")

    另有一说,无所谓谁对谁错。

    trunk:表示开发时版本存放的目录,即在开发阶段的代码都提交到该目录上。

    branches:表示发布的版本存放的目录,即项目上线时发布的稳定版本存放在该目录中。

    tags:表示标签存放的目录。

    在这需要说明下分三个目录的原因,如果项目分为一期、二期、三期等,那么一期上线时的稳定版本就应该在一期完成时将代码copy到branches上,这样二期开发的代码就对一期的代码没有影响,如新增的模块就不会部署到生产环境上。而branches上的稳定的版本就是发布到生产环境上的代码,如果用户使用的过程中发现有bug,则只要在branches上修改该bug,修改完bug后再编译branches上最新的代码发布到生产环境即可。tags的作用是将在branches上修改的bug的代码合并到trank上时创建个版本标识,以后branches上修改的bug代码再合并到trunk上时就从tags的version到branches最新的version合并到trunk,以保证前期修改的bug代码不会在合并。

    文章来自[SVN中文技术网]转发请保留本站地址:http://www.svn8.com/svnjs/20081216/1713.html

  • 相关阅读:
    [Java] 开课吧--JVM
    [Java] 数据分析 -- 大数据
    [Java] 数据分析 -- NoSQL数据库
    [Java]数据分析--聚类
    [Java] 数据分析--分类
    [Java] 数据分析 -- 回归分析
    [Java] 数据分析--统计
    [Java]数据分析--数据可视化
    [Java] 数据分析--数据预处理
    从零开始的react入门教程(十),快速上手react-redux,相对于redux它究竟简化了什么?
  • 原文地址:https://www.cnblogs.com/kex1n/p/2286421.html
Copyright © 2011-2022 走看看