首页 文章

Subversion中的trunk,branch和tag是什么? [重复]

提问于
浏览
224

可能重复:“分支”,“标签”和“主干”的含义是什么?

Subversion中的trunk,branch和tag是什么?使用它们的最佳实践是什么?

Visual Studio 2008中我可以使用哪些工具进行Subversion?

9 回答

  • 280

    trunk 是SVN存储库中的主要开发线 .

    branch 是开发的副线,用于在不使用干线版本的用户的情况下进行更大,实验性或中断性工作 . 此外,分支可用于为同一产品的多个版本创建开发线,例如有一个地方可以将错误修正反向移植到稳定版本中 .

    最后, tags 是用于突出显示存储库历史中值得注意的修订的标记,通常是"this was released as 1.0"之类的东西 .

    请参阅HTML版“Version Control with Subversion”,尤其是Chapter 4: Branching and Merging或以纸张形式购买(例如从amazon获取),以深入讨论技术细节 .

    正如其他人(例如下面的Peter Neubauer)那样, /tags /branches/trunk 目录的底层实现仅为conventional,并且不会以任何方式强制执行 . 违反这些惯例会导致混乱,因为这会破坏其他人访问存储库的习惯和期望 . 必须特别注意避免将新的更改提交到标记中,这些标记会被冻结 .


    我使用TortoiseSVN但没有Visual Studio集成 . 我始终在第二台显示器上打开"Check for modifications"对话框,因此我可以跟踪我触摸过的文件 . 但请参阅“Best SVN Tools”问题,获取更多建议 .

  • 5

    "trunk","branches"和"tags"目录是Subversion中的约定 . Subversion不要求您拥有这些目录,也不要为它们指定特殊含义 . 但是,这个惯例很常见,除非你有充分的理由,否则你应该遵循惯例 . 其他读者给出的书链接描述了惯例以及如何使用它 .

  • 18

    David Schmitt的答案总结得非常好,但我认为值得注意的是,对于SVN来说,术语“分支”,“标签”和“主干”并不意味着什么 . 这些术语纯粹是语义的,只会影响我们作为系统用户对待这些目录的方式 . 人们很容易将它们命名为“主要”,“测试”和“发布” . 只要使用系统的每个人都理解如何正确使用每个部分,它们被称为什么并不重要 .

  • 10

    开始学习Subversion的好地方是http://svnbook.red-bean.com/ .

    就Visual Studio工具而言,我喜欢AnkhSVN,但我还没有尝试过VisualSVN插件 .

    VisualSVN确实依赖TortoiseSVN,但TortoiseSVN也是Ankh IMHO的很好的补充 .

  • 8

    要在Visual Studio 2008中使用Subversion,请安装TortoiseSVNAnkhSVN .

    TortoiseSVN是一款非常易于使用的Windows版本控制/版本控制/源代码控制软件 . 由于它不是特定IDE的集成,因此您可以将它与您喜欢的任何开发工具一起使用 . TortoiseSVN可免费使用 . 您无需获得贷款或支付全年工资来使用它 . AnkhSVN是Visual Studio的Subversion SourceControl提供程序 . 该软件允许您直接从Microsoft Visual Studio IDE内部执行最常见的版本控制操作 . 使用AnkhSVN,您不再需要离开IDE来执行诸如查看源代码状态,更新Subversion工作副本和提交更改等任务 . 您甚至可以浏览您的存储库,您可以插入您喜欢的差异工具 .

  • 6

    主干被认为是您的主要代码库,是主干的分支分支 . 比如,如果要实现新功能,但是不想影响主干,则创建分支 .

    TortoiseSVN有很好的文档和很棒的差异工具 .

    我使用Visual Studio,我使用VisualSVN和TortoiseSVN .

  • 4

    如果您是Subversion的新手,您可以查看SmashingMagazine.com上的这篇文章, Headers 为Ultimate Round-Up for Version Control with SubVersion .

    它涵盖了SubVersion的入门,包括教程,参考资料和书籍建议的链接 .

    它涵盖了工具(许多是兼容的窗口),它提到了 AnkhSVN 作为Visual Studio兼容的插件 . 评论还提到了 VisualSVN 作为替代方案 .

  • 35

    如果你有一个开发团队,一个很棒的免费工具是SVN Monitor . 它可以作为你树木的心跳,告诉你什么时候有更新,可能的冲突等等 . 虽然这对于独唱开发者来说并不是那么有用 .

  • 23

    一本关于Subversion的好书是Pragmatic Version Control using Subversion,其中解释了你的问题,它提供了更多的信息 .

相关问题