Subversion中的trunk,branch和tag是什么?

时间:2009-03-30 18:00:54

标签: svn branch tags conventions trunk

  

可能重复:
  What do “branch”, “tag” and “trunk” really mean?

Subversion中的trunk,分支和标记是什么?使用它们的最佳做法是什么?

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

9 个答案:

答案 0 :(得分:283)

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

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

最后,标记是用于突出显示存储库历史记录中值得注意的修订的标记,通常是“此版本已发布为1.0”。

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

与其他人(例如下面的Peter Neubauer)一样,/tags /branches/trunk目录的基础实现仅为conventional,并且不会以任何方式强制执行这些工具。违反这些惯例会导致混乱,因为这会破坏其他人访问存储库的习惯和期望。必须特别小心,以避免对标签进行新的更改,冻结。


我使用TortoiseSVN但没有使用Visual Studio集成。我一直在第二台显示器上打开“检查修改”对话框,因此我可以跟踪我触摸过的文件。但请参阅“Best SVN Tools”问题,了解更多建议。

答案 1 :(得分:35)

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

答案 2 :(得分:23)

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

答案 3 :(得分:18)

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

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

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

答案 4 :(得分:10)

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

  

TortoiseSVN 是一款非常易于使用的Windows版本控制/版本控制/源代码控制软件。   由于它不是特定IDE的集成,因此您可以将它与您喜欢的任何开发工具一起使用。   TortoiseSVN可免费使用。您无需获得贷款或支付全年工资来使用它。

     

AnkhSVN 是Visual Studio的Subversion SourceControl提供程序。该软件允许您直接从Microsoft Visual Studio IDE内部执行最常见的版本控制操作。使用AnkhSVN,您不再需要离开IDE来执行诸如查看源代码状态,更新Subversion工作副本和提交更改等任务。您甚至可以浏览您的存储库,并且可以插入您喜欢的差异工具。

答案 5 :(得分:8)

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

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

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

答案 6 :(得分:6)

如果您是Subversion的新手,您可能需要在SmashingMagazine.com上查看此帖子 标题为 Ultimate Round-Up for Version Control with SubVersion

它涵盖了SubVersion的入门,其中包含指向教程,参考资料和附件的链接。书籍建议

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

答案 7 :(得分:5)

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

答案 8 :(得分:4)

关于Subversion的好书是 Pragmatic Version Control using Subversion ,其中解释了您的问题,并提供了更多信息。

相关问题