【问题标题】:What are the purpose of trunk/branch/tags in svn? [duplicate]svn中主干/分支/标签的目的是什么? [复制]
【发布时间】:2011-10-08 01:30:18
【问题描述】:

可能重复:
How to use SVN, Branch? Tag? Trunk?

我看过几篇描述最佳 svn 布局的文章:

  • 后备箱
    • 项目1
    • 项目2
    • 项目3
  • 分公司
  • 标签

为什么这是推荐的布局,Branch 和 Tags 文件夹到底应该用于什么?

【问题讨论】:

标签: svn


【解决方案1】:

简而言之——branchestags 允许您并行保存多个版本的源代码。

典型情况是在trunk 中保持开发,并且不时(即在每个里程碑/版本中)创建一个具有自己名称的新branch

这种方法的主要优点是将新的/狂野的开发与测试/发布的版本分开,后者应该是稳定的并且只需要(在理想情况下)修复。

要从branch 复制更改(即修复错误)到trunk,您可以使用merge合并两个分支的更改(trunk 也是一个分支)。

另外(在较新版本的 SVN 中)SVN 保留合并变更集的历史记录。

关于branching strategies 有一个很好的stackoverflow 问题。

【讨论】:

    【解决方案2】:

    /Trunk 是应用程序代码的基本文件夹。正是在这里,您可以开发下一个版本/发布。

    /Branch 是一个文件夹,可让您及时选择某个时刻,并允许您走上与 /Trunk 不同的开发路径。 /Branch 的一个常见用途是为您的开发团队提供对生产中存在的应用程序当前快照的访问权限,即。 /分公司/生产维护。

    这种“分支”概念允许您的团队构建生产的修复/增强功能,而不会影响当前在 /Trunk 中进行的下一个版本的正在进行的工作。分支也可以是小型功能块,在大型团队中,它允许开发人员以原子方式工作,并在未来某个时间点合并回 /Trunk。

    /Tags 是一个文件夹,可让您拍摄应用程序的快照,并仅使用那些特定的“构建”。这允许您的团队在测试和查找构建之间的差异方面具有灵活性。您经常会在 /Branch 中找到与您的构建相关的命名约定,即。 /Branch/2.0.0、/Branch/2.0.1、/Branch/3.1.0 等等。命名约定取决于您和您的团队;保持一致!

    【讨论】:

      猜你喜欢
      • 2012-09-14
      • 2010-10-16
      • 1970-01-01
      • 2012-10-19
      • 2011-03-19
      • 2011-07-05
      • 2014-09-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多